我已经使用 jQuery ajax 在函数中进行了长轮询,就像请求一样,它将一直运行。还有另一个请求将数据发送到 PHP 后端文件,第二个请求不是长轮询,它只是将数据发送到该 PHP 文件。
问题:我用 Firebug 检查发现,当长轮询请求正在运行时,只要长轮询正在运行,我就无法发送另一个请求。即使长轮询正在运行,如何发送另一个请求?
注意:我在两者中都使用了async: true
。
另一个问题:如何确保即使包含长轮询请求代码的函数也会被多次调用,但长轮询请求只会发出一次?
最佳答案
你的 PHP 是否使用基于 session 的身份验证?您的问题可能是 session 锁定。这种情况可能发生在 PHP 中,它在每个请求的顶部无条件地使用 session_start(),并且有时是 MVC 框架中的默认行为,即使 session 从未被修改。其他可疑用例是两个脚本是否都依赖于以管理员用户身份登录。
如果您怀疑可能是这种情况,请尝试策略性放置 session_write_close()在您不再需要修改两个脚本的 session 数据之后尽早进行。
关于php - jquery ajax 多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799355/