有以下几种可能的解决方法:
var successTriggered = false;
$.ajax({
url: 'your-url',
success: function(data){
if (!successTriggered) {
// 处理成功回调函数
successTriggered = true;
}
}
});
one
方法来绑定成功事件,该方法只会触发一次。示例代码如下:$.ajax({
url: 'your-url',
success: function(data){
// 处理成功回调函数
}
}).one('ajaxSuccess', function(){
// 可选:处理其他的成功回调逻辑
});
deferred
对象来处理Ajax请求,通过done
方法来绑定成功回调函数,done
方法只会触发一次。示例代码如下:$.ajax({
url: 'your-url'
}).done(function(data){
// 处理成功回调函数
});
这些方法都可以解决Ajax调用成功函数触发两次的问题,你可以根据实际情况选择适合你的方法。