我已经尝试过 JsonResponse 和 HttpResponse(以及 json.dumps),但即使 ajax 恢复成功,返回的 json 也无法被 $.parseJSON(returned_json)解析。
我确信问题不在于解析($.parseJSON(returned_json)),方法是在终端中打印出 json.dumps 值并将该值复制到变量中并将其提供给 $.parseJSON,并且它成功解析了它。
我试图传递最简单的 json,但它也失败了,我在下面展示了它的例子:在 views.py
from django.http import JsonResponse
在我看来正在处理ajax:
return JsonResponse({"stat":"Success"})
在我的 ajax 文件中:
$.ajax({
url:"feed/get_comments/",
type: "GET",
data:{c_id: cid}, //cid is a variable initialized above and not creating any problem
success: function(ret_json){
alert("Inside success"); //Running everytime
var sam_json = '{"stat":"Success"}'; //same as what is given in JsonResponse
var data = $.parseJSON(ret_json); //for debugging change to sam_json
alert(data); //with sam_json alerting with dictionary, with ret_json not giving any alert
},
如果我使用 json.dumps 和 HttpResponse 而不是 JsonResponse,同样的事情正在发生。从上面我只能得出结论,即使 json.dumps 成功转换为 json 格式(因为我复制了这个并粘贴到 ajax 变量中),JsonResponse 和 HttpResponse 也没有返回 json 格式的数据。请帮忙。