gpt4 book ai didi

jQuery.getJSON 不触发回调

转载 作者:行者123 更新时间:2023-12-03 21:36:54 27 4
gpt4 key购买 nike

我有一个 html 代码:

<button>asd</button>
<script type = "text/javascript">
$('button').click(
function() {
$.getJSON('/schedule/test/', function(json) {
alert('json: ' + json + ' ...');
});
}
);
</script>

以及相应的 View :

def test(request):
if request.method == 'GET':
json = simplejson.dumps('hello world!')
return HttpResponse(json, mimetype = 'application/json')

View 已执行(使用print进行测试),json变量已初始化,但没有出现警报。我做错了什么?我已经看过一些关于此的文档(例如 http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback ),但我没有找到答案。

编辑:问题是,HttpResponse 没有导入...不幸的是 Django 没有给出任何错误。其他一切都是正确的。问候
克里斯

最佳答案

可能是 json 格式不正确。有时,当我的代码(应该生成 json)生成错误时,就会发生这种情况。两种选择:

  • 使用firebug查看JSON响应

  • 使用 jQuery.ajaxSetup 选项在 jquery 代码中设置错误处理,例如:

      $.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
    alert(textStatus);
    alert(errorThrown);
    alert(XMLHttpRequest.responseText);
    }});

使用错误处理进行调试非常棒,因为您会立即知道响应是否有问题。您可以查看jQuery documentation for jQuery.ajax其中包含 jQuery.ajaxSetup 的所有可用选项。

编辑:第三个选项是打开应该生成 JSON 的 URL 并通过 JSON Lint 运行输出。来验证它。

关于jQuery.getJSON 不触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/572991/

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