在XMLHttpRequest异步调用期间使用location.href导航

时间:2010-04-16 15:18:09

标签: javascript firefox xmlhttprequest

我的网页包含以下内容:

<div onclick="location.href = 'AnotherPage';">

此页面还使用异步XMLHttpRequests进行某些ajax更新。

我发现当异步XMLHttpRequest正在进行时,单击此div不会加载新页面。如果我先取消我的请求,那么它可以正常工作。这似乎不对,但我找不到任何描述应该发生的文档。

所以问题是:当使用location.href加载新页面时,正在进行的异步XMLHttpRequests会发生什么?

编辑 - 我通过处理window.onbeforeunload并在那里中止我的待处理异步请求来解决这个问题。问题仍然存在,我是否应该这样做?

1 个答案:

答案 0 :(得分:0)

您可以查看类似的问题:

Browser waits for ajax call to complete even after abort has been called (jQuery)

我还看到了一些问题,其中在类似情况下出现了浏览器历史记录问题,解决方法是在setTimeout()调用中将位置更改换行0延迟。如果要解决这个问题,我会对这个推理感到困惑,但看到效果会很有趣。