jquery - Django View 无法在 ajax 成功时返回 json?

标签 jquery json ajax django jsonresponse

我已经尝试了 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 格式,JsonResponse 和 HttpResponse 也没有以 json 格式返回数据(因为我复制了它并粘贴到 ajax 变量中)。请帮忙。

最佳答案

不需要parseJSON

由于您只是使用字典,因此您可以像使用 javascript 中的任何其他字典一样访问它

例如。

alert(ret_json.stat);

关于jquery - Django View 无法在 ajax 成功时返回 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36542610/

相关文章:

jquery - 点击后弹出全屏div

jquery - jQuery/CSS Nav 不隐藏和水平位置的问题

javascript - 从 JSON 读取返回未定义

javascript - 如何判断jquery ajax返回值还是null

javascript - jQuery Ajax : Variable as Header key

javascript - 将一组选中的复选框的值获取到 JavaScript 数组中,并将它们传递到 ajax 请求中

javascript - jquery 同位素最大化项目以适合父容器

PHP 从 jquery.load 回显空格

javascript - 使用 JSON Api URL EmberJS

php - 停用用户从 ajax 请求重定向到登录