【问题标题】:Show process status using AJAX and ASP.NET MVC使用 AJAX 和 ASP.NET MVC 显示进程状态
【发布时间】:2009-02-25 07:16:38
【问题描述】:

我的控制器中有一个方法可以在服务器上启动一项工作。我将使用 Ajax 调用 (jQuery) 通过页面上的链接来启动它。这可能需要一段时间,我需要在页面上显示一些状态。我不一定需要“完成 26% ......”,但更多的是显示“工作”或“完成”的状态。

如何让 jQuery 持续拉取作业状态?还是应该换个方式解决?

【问题讨论】:

    标签: jquery asp.net-mvc ajax


    【解决方案1】:

    您将需要某种状态来保存任务和 Javascript 都可以访问的任务状态。例如服务器缓存。假设您使用 TaskComplete 的键。

    通过 AJAX 使用 javascript 开始您的任务

    当你的任务正在运行时

    任务更新服务器缓存项

    结束时

    平行

    使用 Javascript 轮询缓存中的值

    通过 AJAX 使用 javascript 开始您的任务

    当 Ajax 响应未完成时

    等待 2 秒

    再次通过ajax调用javascript函数读取Server Cache Item的值

    根据其价值执行相关任务

    您可能会觉得有用的文章在这里:

    http://msdn.microsoft.com/en-us/magazine/cc163393.aspx

    【讨论】:

    • 好的。很好,我就是这么想的。但是如何在 jQuery 中执行此“循环”/“计时器”以继续获取状态?
    • 使用:setTimeout(your_callback, ti​​meout_in_ms);
    • 是的,使用 setTimeout 虽然我发现使用以下语法更好 var t = setInterval(function(){//execute your function here},milliseconds);完成时 clearInterval(t);
    • 或者找一个Jquery Timer Plugin。两者都足够了。希望这会有所帮助:-)
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多