将数据传递给.ajaxSent和.ajaxComplete

时间:2012-01-31 16:43:44

标签: jquery ajax

我想在全局ajaxComplete和ajaxSent事件中处理一些自定义数据。就我而言,我想要了解将要更新的区域的信息。恩。我希望得到什么。

$.get(
    'http://someUrl',
    { param : value, param2: value2 },
    'extraData', //<-- here, for exemple
    function (data){
    }
);

$(document).ajaxSend(function(e, xhr, options){
   var data = //Some way to get back 'extraData';
   doSomethingWhenSendingRequest(data);
});

$(document).ajaxComplete(function(e, xhr, options){
   var data = //Some way to get back 'extraData';
   doSomethingWhenRequestCompleted(data);
});

我需要使用$ .post,$ .getJSON ... 是否有内置的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以从选项或设置中获取数据:

 $(document).ajaxComplete(function (event, xhr, settings) {
   console.log(settings.data); // do stuff with querystring style KVP's
 });

...所以,在这个输出中你会看到你的参数。如果你需要一种方法来轻松获得它们,那么在How can I get query string values in JavaScript?稍微修改Artem的代码就会有所帮助(我知道,我已经完成了)。

希望这有助于某人,知道它已经晚了。