首先是接口代码:

    from django.http import JsonResponse,HttpResponse
    import json
    def ax(request):
        if request.method == 'GET':
            return render(request,'ax.html')
        if request.method == 'POST':
            name = request.POST.get('name')
            age = request.POST.get('age')
            if name == 'admin' and age == '1':
                # 处理完数据之后需要返回给前台一个状态码或数据
                data = {}
                data['code'] = 200
                data['mes'] = '登录成功!'
                # 把状态信息以json格式返回给前台
                # 1.
                # return JsonResponse(data)
                # 2.
                return HttpResponse(json.dumps(data))
            else:
                data = {}
                data['code'] = 201
                data['mes'] = '登录失败!'
                return HttpResponse(json.dumps(data))

然后是前台的html模板中的代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <!-- 导入jquery文件 -->
        <script src="../static/jquery-1.10.2.min.js"></script>
        <!-- 导入jquery.cookie -->
        <script src="../static/jquery.cookie.js"></script>
        <title>Document</title>
    </head>
    <body>
        昵称:<input type="text" id="name"><br>
        年龄:<input type="text" id="age"><br>
        <!-- onclick,点击按钮时触发sub方法 -->
        <button onclick="sub()">登录</button>
    </body>
    <script>
        // 定义sub方法
        function sub(){
            // var定义name等于id为name的标签的值,val获取标签的值
            var name = $('#name').val()
            var age = $('#age').val()
            // console.log把数据打印在控制台
            console.log(name)
            console.log(age)
            // 发起Ajax请求
            $.ajax({
                url:'/ax/', // 要提交到的网址或接口
                data:{ // 要提交的数据
                    'csrfmiddlewaretoken': $.cookie('csrftoken'), // 防跨站请求伪造令牌
                    name:name,
                    age:age,
                },
                type:'POST', // 提交方式
                success:function(res){ // 请求成功时,回调回台的返回结果
                    console.log(res)
                    var data = JSON.parse(res) // 解析前台返回数据
                    if (data.code==200){ // 如果返回码是200
                        alert('登录成功') // 弹窗提示登录成功
                        window.location.href='/con/' // 跳转到con接口
                    }
                    if (data.code==201){
                        alert('登录失败')
                    }
                }
            })
        }
    </script>
    </html>

 

posted on 2019-06-18 19:53  kit深情  阅读(614)  评论(0编辑  收藏  举报