我正在尝试运行以下代码段:
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和最稳定的谷歌浏览器。为什么第二个回调函数不会触发?
答案 0 :(得分:4)
尝试:
var myVar2 = $.getJSON('myurl2').success(function(){
console.log("debug2 - success");
}).error(function(){
console.log("debug2 - error");
});
您可能会看到错误消息而不是成功。我猜想'myurl2'不存在,虽然它可能存在,但脚本会产生带有错误标题的HTTP响应。我认为JSON解码失败也会触发错误回调。