使用传递给处理程序的参数来区分ajax请求

时间:2014-01-08 02:53:26

标签: jquery ajax event-handling

我使用$(document).ajaxSuccess(function(event, xhr, settings) {在使用分页按钮时更新结果。但是,该页面有两个ajax函数,所以我需要区分这两个请求。

jQuery api建议“you can use the parameters passed to the handler”。我的问题是,我该怎么做?有哪些方法可用于传入的对象?

例如,我希望能够做类似的事情:

if(event.attr('id') == 'x'){do stuff}
else {do other stuff}

第一个ajax请求是使用分页按钮(dataTables)触发的,第二个来自$ .load()调用。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我建议您采用这种方法的唯一地方是您无法访问所述jqXHR对象。否则,请始终使用ajax promise对象提供的done / fail后备。

在这种情况下,使用设置参数,然后您可以查看传递给ajax调用的url或任何其他设置,以区分请求,如

$(document).ajaxSuccess(function (event, xhr, settings) {
    console.log('success')
    if(settings.url=='/echo/json/'){
        console.log('do json')
    }
});

演示:Fiddle