【发布时间】:2013-04-05 10:10:19
【问题描述】:
MVC 4 Web 应用,JQuery
我想展示一个冗长过程的进度。
从 JSON 调用以下内容需要几秒钟...
基本上,我想做的是:
[HttpPost]
public JsonResult Update(var x)
{
return Json(new { Result = "Working", Message = "Waiting on Server" });
var y = contactAnotherServer(x);
return Json(new { Result = "Working", Message = "Crunching Data" });
var finished = doSomethingWithData(y);
return Json(new { Result = "OK", Message = "Done" });
}
显然这将在第一个返回语句处终止。
如何做到这一点?
谢谢!
【问题讨论】:
-
我不太确定是否可以通过常规 AJAX 调用实现“真正”的进步,我认为最好使用 SignalR,这是首页上的用例之一似乎与您需要的东西融合...
-
您可以让进程在工作线程下执行,然后使用 ajax/setTimeout 来“轮询”操作并检查状态。然后它根据工作人员在进程中的位置返回“忙碌”/“完成”。
标签: c# jquery asp.net-mvc