php ajax异步请求疑问

魔山 发布于 2013/07/30 17:03
阅读 463
收藏 4

一个页面中存在2个ajax异步执行

根据观察,第一个ajax请求发起成功,这个请求得php运算100秒后才返回结果

第二个ajax在第一个请求发起后也跟随发起请求,第二个请求php运算10秒就可以发回结果,

但是结果却是得第一个请求完全执行完成返回结果后第二个才跟随返回。

请问下是怎么了?是因为第一个php在运算导致第二个php阻塞了么?

加载中
2
酒逍遥
酒逍遥
启用了 session 么?
酒逍遥
酒逍遥
回复 @魔山 : 给个最佳呗
魔山
谢谢,在第一个中加入session_write_close();确实不会把后面的给阻塞住了。
酒逍遥
酒逍遥
回复 @魔山 : 上述是针对同一个客户端链接的情况.不同的客户端连接,由于session id 不同,不存在此问题
酒逍遥
酒逍遥
回复 @魔山 : 是的...php操作session 的时候有锁的.第一个php打开了session在处理完之前session被锁住了.这样会导致第二个php阻塞. 可以在php里调用 session_write_close(); 来释放锁 但注意 调用之后再使用 $_SESSION['xx']='xxx' 来赋值session的时候, session数据将不会被保存
魔山
有的,和session有关系?
0
猪猪
猪猪
为啥不看看是不是JS的问题
0
红酒花生
红酒花生
醍醐灌顶。
返回顶部
顶部