我试图在我的控制器中调用两种方法。一个启动转换,另一个将转换百分比返回到视图以更新进度条。在调用 getPercentage 函数之前,通过单击“startConversion”按钮来启动转换。但是,只有转换开始,而百分比函数不会。我已经尝试先启动百分比函数并且它可以工作,但是在我按下转换按钮后 setTimeout 停止并且它不会再更新了。
有没有人有什么可能是错误的建议以及任何解决方法?
//View
<script type="text/javascript" >
$(window).load(function () {
startConvert();
});
function startConvert() {
document.getElementById("startConversion").click()
getPercentage();
}
function getPercentage() {
$.ajax(
{
type: "POST",
url: "@Url.Action("GetPercentage","File")",
success: function (result) {
$('#div').html(result);
var r = result;
progressBarSim(r);
},
error: function (req, status, error) {
alert("Fail");
}
});
setTimeout(getPercentage, 500);
}
</script>
<form action="" method="post" enctype="multipart/form-data">
<input id="startConversion" type="Submit" name="Convert" />
</form>
//FileController
[HttpPost]
public double GetPercentage() {
return enc.Percent;
}
[HttpPost]
public ActionResult Convert()
{
... //Removed
}