相同的$ .ajax调用在Chrome中是ASYNC,在IE中是SYNC

时间:2014-01-13 18:08:01

标签: javascript jquery ajax

我有一个简单的ajax调用一个不存在的url并带有错误回调:

$.ajax("non-nonexistent-url", {
    error: function () {
        alert("FOO");
    }
});
alert("BAR");

当我在Chrome中运行它时,我得到“BAR”然后“FOO”警报,这是我期望的行为 - ajax调用是异步的。 然而,在IE中,我得到“FOO”然后“BAR”,看起来像同步通话,但为什么呢?默认情况下它应该是异步的,对吧? 我希望保证$.ajax在执行任何回调之前返回...

1 个答案:

答案 0 :(得分:1)

关于原因的假设:

如果URL中的主机不存在,则实际上不会发出请求。虽然在IE中只有请求是异步的,但在其他浏览器中,主机查找也是异步的。