![](/img/trans.png)
[英]$.getJSON returning undefined to success callback in IE9 and below
[英]Getting a callback from getJSON regardless of success
我遇到需要处理可能有问题的CGI解释器的情况。 在所有情况下,我都需要从getJSON
调用中获取某种类型的回调。 其中包括发送到testIt
函数的伪参数(请参见下文)和CGI发送伪响应。 我认为将整个内容包装在try / catch中以处理第一种情况,并添加.done以处理第二种情况就可以了。 但是,如果CGI处理器输出无效响应,则不会调用我的.done。 如何确保总是收到回调?
我正在使用的代码如下。
function testIt() {
try
{
console.log('start');
$.getJSON(
// URL of the server
cgi_url,
// pass the data
{
data: 'bogus',
},
// If the AJAX call was successful
function() {
console.log('worked');
}
)
.done(function() {
console.log('done');
});
}
catch (err) {
console.log('exception');
}
}
如何确保总是收到回调?
使用.always()
附加您的处理程序! 如果您想以不同的方式对待错误,请使用fail
处理程序 。
console.log('start');
$.getJSON(cgi_url, {data: 'bogus'})
.done(function() { // If the AJAX call was successful
console.log('worked');
})
.fail(function() { // If the AJAX call encountered an error
console.log('exception');
})
.always(function() { // When the AJAX call ended
console.log('done');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.