【发布时间】:2020-09-15 12:39:08
【问题描述】:
我的 .cshtlm 表单中有一个 js 函数,我可以通过按钮调用它。
我的函数隐藏按钮,显示进度条,调用2个ajax,隐藏进度条最后显示消息。
JS函数代码
var CustomsBook = function () {
var month = $("#month").val();
var message = "";
var errorMessage = "";
$("#btn").hide();
$("#prcs").show();
$("#progressbar").show();
$("#successMessage").empty().hide();
$("#dangerMessage").empty().hide();
$.ajax({
async: false,
url: "/Logistics/jCustomsBookHQ",
type: "POST",
data: { month: month },
success: function (HQresponse) {
if (HQresponse.success) { message += HQresponse.message; }
else { errorMessage += HQresponse.message; }
}
});
$.ajax({
async: false,
url: "/Logistics/jCustomsBookBr",
type: "POST",
data: { month: month },
success: function (BRresponse) {
if (BRresponse.success) {
if (message.length > 0) { message += " <br> "; }
message += BRresponse.message;
}
else {
if (errorMessage.length > 0) { errorMessage += " <br> "; }
errorMessage += BRresponse.message;
}
}
});
$("#prcs").hide();
$("#progressbar").hide();
$("#successMessage").html(message);
if (message.length > 0) {
$("#successMessage").show();
}
$("#dangerMessage").html(errorMessage);
if (errorMessage.length > 0) {
$("#dangerMessage").show();
}
}
当我按下按钮调用函数时,$("#prcs").show(); 和 $("#progressbar").show(); 不起作用。如果我使用调试器并逐步运行代码,进度条会在 ajax 结束后显示并隐藏。
我尝试为每个 ajax 编写 2 个不同的函数,并将 ajax 代码替换为对具有相同结果的函数的调用。
我错过了什么吗?
提前感谢您的每一个帮助。
【问题讨论】:
-
请同时发布您的代码
-
您真的需要阅读问题编辑器旁边的格式说明。您的代码目前一团糟。我怀疑问题在于您使用了
async: false。您的浏览器的开发人员工具中应该有一条已弃用的警告。您看到的行为就是原因。不要那样做。
标签: javascript jquery