jQuery ajax没有返回整个对象

时间:2013-02-07 05:43:38

标签: javascript jquery ajax

每当我这样做时:

$.ajax({
  //my settings
}).done(function(data){
  // Publish or store data
});

完美无缺!但是,我正在尝试应用观察者模式,因为我需要,但是当我这样做时,使用此代码:

$.ajax({
  // my settings
}).done(function(data){
  $(document).trigger('ALLREADY',data);
});

// Some other part of the code
$(document).on('ALLREADY',function(e,data){
  console.log(data); // WHY?!
});

响应(数据)只存储第一个值,而不是整个数组,就像第一个例子一样,我怎么做才能打破这个功能?

PS:请注意,即使它只返回一个所谓的大数组的第一个值,即使我尝试使用它,它也不会让我,但是,我可以记录它。

1 个答案:

答案 0 :(得分:1)

由于data是一个数组,因此每个单独的部分都作为事件回调中的单独参数发送。这很奇怪,因为如果data是一个对象,情况并非如此(您可以像data一样使用它。)

相反,只需使用data = arguments.slice(1)

即可