PHP实现动态读取进度,form提交与ajax提交同步,ajax实时获取form提交后的数据处理进度。

php怎么同时提交两个请求,比如一个form提交到后来处理数据并且在处理过程的不同阶段将进度写入session。在form提交的同时,发送另一个ajax请求去去session里的值,并且在session的值未到达100时,继续发送这个ajax请求。验证时发现必须要等form提交的处理完成后ajax这边才开始发送请求!!请问如果让两个请求同步执行!多线程?怎么弄?谢谢了!!!

发送2个ajax请求读取2个不同的服务器页面就可以了
function submitForm(){
//第一个请求,将表单数据提交到某服务器页面
//第二个请求进度页面,也就是读取session,
}
callback是必须在等到服务器页面执行完成并输出结果后才会调用的
虽然第一个处理表单的页面可能还没全部执行完成,但是sesesion应当是已经产生了的,
而第二个请求每间隔一段时间久请求进度页面一次,读取当前的session值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-21
用 ajax 请求解决这个问题应该采用 callback 机制
就是先发起 ajax 的 post 请求,并定义好在请求结束时调用一个 callback 函数

这个 callback 函数中:
可以分析 post结果
可以知道 session值是否到达100
可以再次发起一个 ajax 的 post 请求

用不到多线程追问

我已使用回调~且回调也是按照您说的办法处理,但是在ajax请求的时候返回的永远是100(我设设置了30,50,100三个进度),这就证明了ajax的返回必然是等form提交处理完毕后得到的值,中间的请求时被驳回的,因为form提交的处理还没有结束。

第2个回答  2012-05-23
好像不好弄,提交的表单一直要执行到结束,ajax的请求才会执行结束返回的