我有一些PHP应用程序。目前我正在开发用户通过ajax(jQuery)向服务器提交请求/表单的部分。服务器将在MySQL数据库中插入数千条记录,这些记录可能需要几分钟(由于各种计算等)。
问题:有没有办法跟踪服务器端的更新进度?我知道一旦完成,我可以写一些输出。解决方法是: - 存储某个会话ID和进度详细信息(例如:处理5k中的3k插入 - 可能在数据库中的某个进度表中 - 让前端jQuery脚本每隔10秒左右从服务器请求该信息......
有什么想法吗?如果您有任何问题,请随时提出。谢谢。
答案 0 :(得分:1)
虽然我不知道你在服务器端做什么的具体细节,但是执行“几分钟”的脚本可能涉及几个不同的步骤。让脚本一次执行一步,返回结果,然后再次调用以执行下一步可能是有意义的。
通过使用这样的流程,您将能够跟踪客户端的进度。需要注意的是,如果客户端关闭浏览器窗口或者使用ajax代码离开页面,则不会执行其余步骤。