正如我在标题中所描述的,ajax 同时发送两个请求。仅当"异步"参数设置为"true"时,才会发生这种情况。当它是"假"时,那就没有问题了。
我通过以下方式阻止重新加载页面:
$(document).ready(function() {
$(document).on('submit', 'form', function() {
showBusyIndicator();
addTask();
return false;
});
这是函数addTask((:
function addTask() {
let newTask = new Task(
$("#taskSummary").val(),
$("#taskDescription").val(),
$("#taskDueTo").val()
);
$.ajax({
url: apiHost + "/task/add/",
headers: {
"contentType": "application/json"
},
type: "POST",
async: true,
dataType: "json",
data: JSON.stringify(newTask),
complete: function (xhr) {
hideBusyIndicator();
if (xhr.status === 201) {
closeAddTaskForm();
} else {
alert(xhr.status);
}
},
});
}
发现了问题 - 感谢@Randy Casburn。
addTask 的调用都是$(document).on('submit', 'form', function()
也在<form onsubmit="addTask()">