我在可能不存在的URL(不同域)上使用 jQuery.getJSON() 。有没有办法让我捕获错误“无法加载资源”?由于此调用的异步特性,try/catch似乎不起作用。

我也不能使用 jQuery.ajax() 的“error:”。从文件:

最佳答案

如果您想知道从远程服务返回成功结果的最坏情况下的延迟,则可以使用超时机制来确定是否存在错误。

var cbSuccess = false;
$.ajax({
   url: 'http://example.com/.../service.php?callback=?',
   type: 'get',
   dataType: 'json',
   success: function(data) {
              cbSuccess = true;
            }
});
setTimeout(function(){
        if(!cbSuccess) { alert("failed"); }
    }, 2000); // assuming 2sec is the max wait time for results

09-26 07:46