在我的 web 应用程序中,我希望能够在 web 服务器上启动一个带有特定参数的进程,并在文本区域中持续显示该进程的输出,直到它完成。我如何使用 Javascript 完成此操作?我将 jQuery 与 ASP.NET MVC 3 一起使用。
最佳答案
您可以使用 2 个操作方法和一个 javascript 计时器来完成此操作
[HttpPost]
public JsonResult StartProcess()
{
StartTheMachine();
return new JsonResult() { Data = "Started" };
}
[HttpGet]
public JsonResult GetProcessUpdate()
{
return new JsonResult()
{
Data = GetUpdate(),
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
在你看来是这样的:
$.post("<%=Url.Action("StartProcess") %>", function(data) {
// do something with data "Started" and start timer
setTimeout(GetUpdate, 5000);
});
function GetUpdate()
{
$.get("<%=Url.Action("GetUpdate") %>", function(data) {
if (data.Complete) // or some way to tell it has finished
{
// do something with other data returned
}
else
{
// call again if not finished
setTimeout(GetUpdate, 5000);
}
});
}
关于javascript - 在 Javascript 中,如何启动服务器端进程并监视其输出直到完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7231946/