要控制重复的Ajax 'post' 提交,可以使用以下方法:
$("#submit").click(function() {
$(this).prop("disabled", true);
$.ajax({
type: "POST",
url: "/path/to/your/api",
data: $("#form").serialize(),
success: function(response) {
// Handle success
},
complete: function() {
$("#submit").prop("disabled", false);
}
});
});
function debounce(func, wait) {
let timeout;
return function() {
const context = this;
const args = arguments;
clearTimeout(timeout);
timeout = setTimeout(() => {
func.apply(context, args);
}, wait);
};
}
$("#submit").click(debounce(function() {
$.ajax({
type: "POST",
url: "/path/to/your/api",
data: $("#form").serialize(),
success: function(response) {
// Handle success
}
});
}, 1000)); // Adjust the wait time as needed
true
,请求完成后再将其设置为 false
。在发送请求前检查锁的状态,如果已锁定,则不发送请求。let isLocked = false;
$("#submit").click(function() {
if (isLocked) {
return;
}
isLocked = true;
$.ajax({
type: "POST",
url: "/path/to/your/api",
data: $("#form").serialize(),
success: function(response) {
// Handle success
},
complete: function() {
isLocked = false;
}
});
});
这些方法可以帮助您控制重复的Ajax 'post' 提交,从而避免不必要的请求和资源浪费。
领取专属 10元无门槛券
手把手带您无忧上云