我的控制器中有一个方法可以在服务器上执行作业。我将使用Ajax调用(jQuery)通过页面上的链接启动它。这可能需要一段时间,我需要在页面上显示一些状态。我不一定需要“26%完成...”,但更多的状态显示“工作”或“完成”。
如何让jQuery不断提取作业状态?或者应该以不同的方式解决?
答案 0 :(得分:1)
您需要某种状态来保存任务和Javascript都可以访问的任务状态。例如Server Cache。假设您使用TaskComplete的密钥。
使用javascript通过AJAX开启你的任务
当你的任务正在运行时
任务更新服务器缓存项
结束时
<强> 并行 强>
使用Javascript轮询缓存中的值
使用javascript通过AJAX开启你的任务
Ajax响应不完成任务
等待2秒
再次通过ajax调用javascript函数以读取服务器缓存项的值
根据其值
执行相关任务您可能会觉得有用的文章在这里: