gpt4 book ai didi

php - AJAX 调用中止后服务器无响应

转载 作者:行者123 更新时间:2023-12-01 03:02:21 25 4
gpt4 key购买 nike

我遇到的情况是,我对服务器的 Ajax 调用可能需要很长时间(30-40 秒)。我正在使用 jQuery.ajax 并将超时设置为 60 秒。因此,如果我在 60 秒内没有得到任何响应,调用将中止并报告错误。

现在的问题是,在此之后对服务器的任何连续调用都会一直等待,而不仅仅是 AJAX 调用,甚至在新窗口中从同一服务器打开一个新页面,也会一直等待。让它再次工作的唯一方法是完全重新启动浏览器。可能是什么原因造成的?这与服务器有关吗?

最佳答案

当您中止 ajax 请求时,PHP 脚本实际上会继续运行。

如果您使用 session ,则用户的 session 将被正在运行的脚本锁定,您必须等待脚本终止才能执行其他请求。

这与 Server workload increase during php image resize 中的问题完全相同

解决方案是在做很长的事情之前解锁 session :

session_write_close();
do_something_long();
session_start();

关于php - AJAX 调用中止后服务器无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com