Javascript 无论成功与否,从getJSON获取回调
我需要处理一个可能有缺陷的CGI解释器。在任何情况下,我都需要从Javascript 无论成功与否,从getJSON获取回调,javascript,jquery,Javascript,Jquery,我需要处理一个可能有缺陷的CGI解释器。在任何情况下,我都需要从getJSON调用中获取某种类型的回调。这包括发送到testIt函数(见下文)的伪参数和发送伪响应的CGI。我认为用try/catch来处理第一个案例,并添加一个.done来处理第二个案例就可以了。但是,如果CGI处理器输出无效响应,则不会调用my.done。我如何确保总是收到回电 下面是我正在使用的代码 function testIt() { try { console.log('start');
getJSON
调用中获取某种类型的回调。这包括发送到testIt
函数(见下文)的伪参数和发送伪响应的CGI。我认为用try/catch来处理第一个案例,并添加一个.done来处理第二个案例就可以了。但是,如果CGI处理器输出无效响应,则不会调用my.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');
}
}
我如何确保总是收到回电
用于连接您的处理程序!如果希望以不同的方式处理错误,请使用
我如何确保总是收到回电
用于连接您的处理程序!如果希望以不同的方式处理错误,请使用
我使用的是一个旧版本的jquery,它不支持.always()。升级,它正在工作!我使用的是一个旧版本的jquery,它不支持.always()。升级,它正在工作!我试过了。总是(),但它抛出了一个异常。但是我注意到我使用的是一个较旧版本的jquery(1.5.2)。显然,.always()回调在该版本中不起作用。我升级了,它正在工作。谢谢我试过了。总是(),但它抛出了一个异常。但是我注意到我使用的是一个较旧版本的jquery(1.5.2)。显然,.always()回调在该版本中不起作用。我升级了,它正在工作。谢谢
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');
});