Javascript 无论成功与否,从getJSON获取回调

Javascript 无论成功与否,从getJSON获取回调,javascript,jquery,Javascript,Jquery,我需要处理一个可能有缺陷的CGI解释器。在任何情况下,我都需要从getJSON调用中获取某种类型的回调。这包括发送到testIt函数(见下文)的伪参数和发送伪响应的CGI。我认为用try/catch来处理第一个案例,并添加一个.done来处理第二个案例就可以了。但是,如果CGI处理器输出无效响应,则不会调用my.done。我如何确保总是收到回电 下面是我正在使用的代码 function testIt() { try { console.log('start');

我需要处理一个可能有缺陷的CGI解释器。在任何情况下,我都需要从
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');
    });