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)})