当主机没有响应时,从跨域AJAX请求中检测错误

时间:2013-08-28 20:48:06

标签: jquery cors

我正在测试通知服务器关闭时处理UI的功能。加载代码实际上工作正常,但是如果服务器无法访问,则似乎没有任何回调。

这是加载代码和jsFiddle:http://jsfiddle.net/xykKf/2/

$(document).ready(function () {
    $.ajax({
        url: "http://localhost:51437/Scripts/framework.js",
        dataType: "script",
        error: handleError,
        success: function () {
            if (!("OFrame" in window)) {
                handleError();
            } else {
                alert("success");
            }
        }            
    });

    function handleError() {
        alert("error");
    }
});

如果您运行此命令(我故意使用localhost以使请求失败),则不会触发回调,但请求将失败。如何有效处理无法返回响应的跨域请求?

1 个答案:

答案 0 :(得分:0)

这是预期的行为。

  

注意:不会为跨域脚本调用此处理程序   跨域JSONP请求。

跨域脚本和跨域jsonp请求不会触发错误回调。

如果有一个一致的解决方法,jQuery可能已经实现了它。