前台表单:

<div action="login_in" method="post">
    {% csrf_token %}
    <input type="text" name="user" id="user">
    <input type="text" name="pwd" id="pwd">
    <input type="submit" id="btn" value="登录">
</div>
<script>
    $(function () {
        $("#btn").click(function () {
           var data = JSON.stringify({"user":$("#user").val(),"pwd":$("#pwd").val()})
            $.ajax({
                url:"login_in",
                contentType:'application/json;charset=UTF-8',
                type:"POST",
                data:data,
                beforeSend: function(xhr, settings) {
                    var token =  $('input[name=csrfmiddlewaretoken]').val()
                    xhr.setRequestHeader("X-CSRFToken",token);
                },
                {% comment %}beforeSend:function (xhr,settings) {
                    xhr.setRequestHeader("X-CSRFtoken",$.cookie("csrftoken"))
                },{% endcomment %}
                success:function (data) {
                    console.log(data)
                },error:function (error) {
                    console.log("error")
                    console.log(error)
                }
            })
        });
    })
</script>

后台函数:

from django.shortcuts import render,HttpResponse
import json
class Blog():
    def login_in(req):
        if req.method == 'POST':
            data = json.loads(req.body)
            if data['user'] == "admin" and  data['pwd'] == "123":
                return HttpResponse(json.dumps(data), content_type='application/json')
        return render(req, 'error.html')

Python Ajax请求及返回 json