多个JQuery .getJSON回调不会触发

时间:2012-05-27 18:44:41

标签: json jquery

我正在尝试运行以下代码段:

var myVar1 = $.getJSON('myurl', function(json) {
    console.log("debug1", json);
});
var myVar2 = $.getJSON('myurl2', function(json2) {
    console.log("debug2", json2);
});

我从未在控制台日志中看到“debug2”条目。当我在请求完成后检查myVar2的状态时,我看到它填充了正确的数据。当我在第二个.complete()请求的末尾添加.getJSON()语句时,.complete()函数将正确触发。

使用jQuery 1.7.2和最稳定的谷歌浏览器。为什么第二个回调函数不会触发?

1 个答案:

答案 0 :(得分:4)

尝试:

var myVar2 = $.getJSON('myurl2').success(function(){
    console.log("debug2 - success");
}).error(function(){
    console.log("debug2 - error");
});

您可能会看到错误消息而不是成功。我猜想'myurl2'不存在,虽然它可能存在,但脚本会产生带有错误标题的HTTP响应。我认为JSON解码失败也会触发错误回调。