这几天遇到了django ajax请求出错的问题,总结一下
前端js:我这里创建的是一个字典格式的数据,前端js收到字典之后也是要用字典的形式去解包后台传送过来的数据,比如我下面的写法:data[‘status’],因为我后台传输的字典键是’status’
$(".check").click(function(){
debugger;
var data=$(this).attr("id");
var csrf_token =$("input[name='csrfmiddlewaretoken']").val();
$.ajax({
url:'/shouli',
type:"POST",
dataType:"json",
data:{'data':data, 'csrfmiddlewaretoken':csrf_token},
success:function(data){
status = data['status'];
if(status==0){
alert(1);
}
else{
alert(2);
}
},
error : function(data){
alert("报错");
}
});
});
django views处理,主要是用json.dumps()把需要发送的内容转换一下发给前端,然后HttpResponse里面指定content_type=‘application/json’
if request.method == 'POST':
print('post')
# 若提交的是ajax请求
if request.is_ajax():
doc_id = request.POST.get('data')
print doc_id
status = models.Status.objects.get(pk=models.Doc.objects.get(pk=doc_id).status_id).pk
# status = models.Doc.objects.get(pk=doc_id).status_id
print status
if status == 7:
res = 0
else:
res = 1
print res
return HttpResponse(json.dumps({'status':res}),content_type='application/json')