栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

可以使用unload事件可靠地触发ajax请求吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

可以使用unload事件可靠地触发ajax请求吗?

如果您的服务器足够快地响应,则此方法相当可靠。确实需要提防的事情。如果关闭浏览器并在unload事件上发送AJAX请求,则很有可能在窗口对象被销毁之前不会及时从服务器返回响应。在这种情况下(至少使用IE),发生的事情是它将孤立您的连接对象,直到达到连接超时后才正确终止它。如果您的服务器没有打开连接保持活动状态,则在关闭2个窗口(同时仍打开另一个窗口)之后,您将耗尽与服务器的打开连接(对于IE6-7,对于IE8-6窗口)并且您将无法打开您的网站,直到达到连接超时为止。

我遇到了这样的情况:打开打开要卸载的AJAX请求的弹出窗口之前,它非常可靠,但是受到上述发行版的困扰,我花了很长时间来跟踪它下来了解发生了什么。之后,我要做的是确保打开的窗口具有与调用服务器相同的代码,并在每次卸载时检查打开器并在其中运行代码(如果存在)。

看来,如果关闭最后一个浏览器窗口,则IE会正确破坏连接,但是如果打开另一个窗口,则不会。

PS只是对上面的答案发表评论,AJAX并不是真正异步的。至少它的JS实现不是。发送请求后,您的JS代码仍将等待服务器的响应。它不会阻止您的代码执行,但是由于服务器可能需要一段时间才能响应(或者对于Windows终止IE窗口对象足够长的时间),因此您可能并且很可能会遇到上述问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387571.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号