如何通过jQuery(ajax)跟踪提交给服务器的请求的进度?

时间:2016-07-27 15:16:12

标签: javascript php jquery mysql ajax

我有一些PHP应用程序。目前我正在开发用户通过ajax(jQuery)向服务器提交请求/表单的部分。服务器将在MySQL数据库中插入数千条记录,这些记录可能需要几分钟(由于各种计算等)。

问题:有没有办法跟踪服务器端的更新进度?我知道一旦完成,我可以写一些输出。解决方法是: - 存储某个会话ID和进度详细信息(例如:处理5k中的3k插入 - 可能在数据库中的某个进度表中 - 让前端jQuery脚本每隔10秒左右从服务器请求该信息......

有什么想法吗?如果您有任何问题,请随时提出。谢谢。

1 个答案:

答案 0 :(得分:1)

虽然我不知道你在服务器端做什么的具体细节,但是执行“几分钟”的脚本可能涉及几个不同的步骤。让脚本一次执行一步,返回结果,然后再次调用以执行下一步可能是有意义的。

通过使用这样的流程,您将能够跟踪客户端的进度。需要注意的是,如果客户端关闭浏览器窗口或者使用ajax代码离开页面,则不会执行其余步骤。