django ajax post get None , 获取不到数据的问题...

最近看视频 准备在django中试下 ajax. 发现始终获取不到post的内容, 试了很多方法 终于试出来了,只是还不知道原因

问题出在ajax url 中 最后如果没有 "/" 这个 斜杠的话 就会 返回 <QueryDict: {}> 加上 "/" 即解决问题

 

body

    <div>
        <label for="name">name:</label>
        <input type="text" id="name"  name="name">
        
        <label for="age">age:</label>
        <input type="text" id="age" name="age">

        <button onclick="submit_fn()">send</button>
        <div id="test5"></div>
    </div>

  

script

// 提交表单
    function submit_fn(){
        // jquery 获取数据
        var name = $("#name").val(); 
        var age = $("#age").val(); 

        $.ajax({
            url:"/merchant_datas/indexApi5/",
            type:"post",
            data:{
                'csrfmiddlewaretoken': '{{ csrf_token }}',
                name:name,
                age:age,
            },
            success:function (res){
                console.log('submit_fn:',typeof(res))
                console.log(JSON.stringify(res))
                alert(res.msg)
                $("#test5").text(res.data)
            }
        })
    }

 

views

# @csrf_exempt
def indexApi5(request):
    params = request.POST
    print('api5 postbody', request.body)
    print(params)
    name = params.get("name")
    age = params.get("age")
    return JsonResponse({"code":2000,"msg":"ok","data":"{0} age is:{1}".format(name,age)})

 

posted @ 2022-12-13 14:15  dontbealarmedimwithy  阅读(383)  评论(0编辑  收藏  举报