xmlHttpRequest abort()方法不会在Internet Explorer中关闭连接

时间:2010-03-04 07:19:55

标签: ajax internet-explorer xmlhttprequest abort

我的网页上有多个xmlHttpRequest,我试图在它们上面调用abort()方法。在FF工作得很好。 IE,另一方面不做一件坏事。连接未关闭,在请求完成之前,我无法导航到其他页面。这是什么?为什么在调用abort()时IE不关闭连接?

2 个答案:

答案 0 :(得分:2)

我几乎从来没有在IE中工作中止。我累了,不记得为什么 - 在你进入readyState 4之前不能中止的事情(或者当它中止时它变成了readyState 4?)。无论哪种方式,Ajaxian都在其档案的深处进行了解决:

http://ajaxian.com/archives/reusing-xmlhttprequest-without-abort

答案 1 :(得分:0)

并行Ajax请求与Apache-Session锁定


会话数据通常 脚本终止后存储,但会话数据被锁定以防止并发写入 > 任何时候只有一个脚本可以在会话上运行

例如使用框架集和会话,您将体验到由于此锁定而逐个加载的框架。 您可以通过尽快结束会话来缩短加载所有框架所需的时间


因此您可以在ajax脚本中使用会话 session_start();(可能会自动处理)session_write_close();

立即(尽快)

session_write_close();将“结束”当前会话并存储会话数据。

但是: session_id()仍会提供正确的(当前)PHPSESSID,因此您只需再次执行session_start()即可重新获得对当前会话的写入权限任何时候你需要它。


我在所有的ajax脚本中以这种方式使用它来实现会话处理允许在所有浏览器中并行请求(中止)