gpt4 book ai didi

jquery - 为什么我的 Django jQuery.ajax 响应为空

转载 作者:行者123 更新时间:2023-12-01 00:12:57 26 4
gpt4 key购买 nike

我正在尝试通过 ajax 调用从 Django View 调用返回 JSON 响应,如下所示:

var tab = 'test';
var response = $.ajax({
url: "/" + tab + "/"
}).responseText;

alert(response);

这是我的 Django View :

if request.is_ajax() == True:
req = {}
req['html'] = '<b>This is a test</b>'
response = simplejson.dumps(req)
print response
return HttpResponse(response, mimetype="application/json")
else:
return render_to_response("ajax/pingpong.html", {'ajax': ajax})

出于某种奇怪的原因,警报框是空白的(尽管它没有说未定义)。有趣的是,$.post 和 $.getJSON 在完全相同的 URL 上工作得很好。我还在控制台上看到了预期的 JSON 输出。任何帮助将不胜感激!

最佳答案

除非我弄错了,否则 responseText 不是 $.ajax() 返回的属性。我认为你必须做这样的事情:

$.ajax({
url: "/test",
dataType: "json",
success: function(data) {
// use data
}
});

由于dataType参数的存在,成功回调中产生的数据是一个普通的JS对象。如果您不指定dataType,您将获得包含服务器返回的原始内容的字符串。

关于jquery - 为什么我的 Django jQuery.ajax 响应为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com