当用户退出页面时,长轮询会导致问题
我的长轮询系统使用 PHP 和 jQuery 运行,但我在开发它时遇到了问题。
当用户退出页面时,它似乎就像“卡住”一样,并且 AJAX 请求似乎仍然存在并且不会退出。
有人知道如何预防/克服这个问题吗?
My Long Polling system runs using PHP and jQuery but I have encountered a problem when developing it.
When the user exits the page it seems to like 'jam' and the AJAX request seems to remain and won't exit.
Anyone know how to prevent / overcome this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是服务器端还是客户端?
客户端,您可以 abort() 未完成的 XMLHttpRequest。
服务器端,您可以引入超时,并在超时时引发异常或信号。查看 pcntl_alarm() 调用,它会引发 SIGALRM 信号(请检查 pcntl_signal() 以了解如何捕获此信号)。
Is this server side or client side?
Client side, you can abort() the outstanding XMLHttpRequest.
Server side, you can introduce a timeout, and raise an exception or signal when it expires. Look into the pcntl_alarm() call, which raises the SIGALRM signal (check pcntl_signal() for how to catch this).