防止IE7同步处理缓存的ajax响应

时间:2011-12-05 23:12:33

标签: ajax internet-explorer

IE7似乎正在缓存来自ajax请求的响应。当缓存响应时,它的行为就好像请求是同步的,一旦传递给jQuery.get就调用我的回调,而不是等待当前的调用栈返回。

现在我要在我的回调中设置一个短暂的超时,这有望让我的代码至少工作。有没有更好的方法来防止这种情况发生?要强制IE7等到当前调用堆栈完成后再调用回调?

以下是我所看到的行为的简化示例:

myDebugger.log("setting up ajax request");
jQuery.get(myUrl, function(){
   myDebugger.log("ajax request returned")
});
myDebugger.log("finished setting up ajax request");

第一次在重启浏览器后在IE7中运行它时,我得到:

setting up ajax request
finished setting up ajax request
ajax request returned

我第二次在IE7中运行它,我得到了这个:

setting up ajax request
ajax request returned
finished setting up ajax request

0 个答案:

没有答案