5

我的页面上有多个xmlHttpRequest,我正在尝试abort()对它们都调用该方法。在 FF 中效果很好。另一方面,IE 并没有做任何该死的事情。连接不会关闭,在请求完成之前我无法导航到另一个页面。这是什么?为什么IE在abort()调用时不关闭连接?

4

2 回答 2

2

我几乎从未中止在 IE 中工作。我很累,不记得为什么 - 在你处于 readyState 4 之前无法中止(或者它可能在中止时更改为 readyState 4?)。无论哪种方式,Ajaxian 在其档案的深处都有一个解决办法:

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

于 2010-03-04T07:33:21.243 回答
0

Parallel-Ajax 请求与 Apache-Session 锁定


会话数据通常在脚本终止后存储,但由于会话数据被锁定以防止并发写入,任何时候只有一个脚本可以对会话进行操作

例如,当将框架集与会话一起使用时,由于这种锁定,您将体验到一个一个加载的框架。您可以通过尽快结束会话来减少加载所有帧所需的时间。


因此,您可以在 ajax 脚本中使用会话 session_start();(可能会自动处理),然后立即(尽快)session_write_close();

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

但是: session_id()仍然会提供正确的(当前)PHPSESSID,因此您可以session_start()在需要时随时再次执行,从而重新获得对当前会话的写访问权限。


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

于 2013-01-30T07:22:58.597 回答