如何从 ajaxComplete 事件侦听器中排除特定的 ajax 调用

how to exclude particular ajax call from ajaxComplete event listener

本文关键字:ajax 调用 排除 ajaxComplete 事件 侦听器      更新时间:2023-09-26

目前,我们正在使用ajaxComplete侦听器,它正在调用我在每次ajax调用发生后提到的特定函数。

$(document).ajaxComplete(function () {
    someFunction();
})

有一种场景是,在特定 ajax 调用之后,我想做一些事情而不是调用 someFunction()。

有没有办法从 ajaxComplete 中排除特定的 ajax 调用?

下面是如何使用 $.ajaxComplete 中的 settings 参数的小示例

$.ajax({    
type:"GET",
url:"http://google.com"
});
$.ajax({
    type:"GET",
    url:"https://stackoverflow.com"
});
$(document).ajaxComplete(function(event,xhr,settings){
    console.log("URL",settings.url);
    if(settings.url === "https://stackoverflow.com")
    {
        $(".loadedPage").html("Stackoverflow loaded");
    }
    else if(settings.url === "http://google.com")
    {
        $(".loadedPage").html("Google Loaded");
    }
});

希望这有帮助!!

参见 jQuery 文档

您将获得每个 Ajax 调用的事件对象、XMLHttpRequest 对象和设置对象。使用此选项来区分您的呼叫。