要防止jQuery Ajax调用触发两次,可以采取以下几种方法:
var isAjaxInProgress = false;
function ajaxCall() {
if (isAjaxInProgress) {
return;
}
isAjaxInProgress = true;
$.ajax({
url: "your-url",
method: "GET",
success: function(response) {
// 处理成功响应
},
error: function() {
// 处理错误响应
},
complete: function() {
isAjaxInProgress = false;
}
});
}
function ajaxCall() {
$.ajax({
url: "your-url",
method: "GET",
success: function(response) {
// 处理成功响应
},
error: function() {
// 处理错误响应
},
complete: function() {
// 解绑之前绑定的事件处理函数
$(document).off("click", "#your-button", ajaxCall);
// 绑定新的事件处理函数
$(document).one("click", "#your-button", ajaxCall);
}
});
}
function ajaxCall() {
$.ajax({
url: "your-url",
method: "GET",
success: function(response) {
// 处理成功响应
},
error: function() {
// 处理错误响应
},
complete: function() {
// 解绑之前绑定的事件处理函数
$("#your-button").unbind("click", ajaxCall);
// 绑定新的事件处理函数
$("#your-button").bind("click", ajaxCall);
}
});
}
以上是防止jQuery Ajax调用触发两次的几种常见方法,根据具体情况选择适合的方法进行实现。
领取专属 10元无门槛券
手把手带您无忧上云