我正在尝试获取控制器方法的进度。我已经使用setInterval
方法来调用控制器内的progress方法,但是setInterval
内的ajax调用仅在执行控制器方法后才命中控制器,直到那时ajax请求状态保持{{1 }}上。
我考虑过将第一种方法异步化
Java脚本代码
pending
controller.cs
function Import() {
$('.loader').show();
var checked;
if ($('#chkNewCycle').is(":checked")) {
checked = 'on';
}
else {
checked = 'off';
}
var NewCycle = { IsnewCycle: checked };
$.ajax({
url: '/DataImport/Import',type: 'POST',data: NewCycle,success: function (result) {
$('.loader').hide();
if (result == "success") {
window.clearInterval(intervalId);
alert("Imported file for processing.");
ClearData();
}
else {
alert(result);
}
}
});
var intervalId = window.setInterval(function () {
$.getJSON('/DataImport/GetProgress',function (json) {
console.log(json.Progress);
$('#progress').html(json.Progress + '%');
});
},2000);
}
我需要同时击中两个控制器方法