每当我这样做时:
$.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:请注意,即使它只返回一个所谓的大数组的第一个值,即使我尝试使用它,它也不会让我,但是,我可以记录它。
答案 0 :(得分:1)
由于data
是一个数组,因此每个单独的部分都作为事件回调中的单独参数发送。这很奇怪,因为如果data
是一个对象,情况并非如此(您可以像data
一样使用它。)
相反,只需使用data = arguments.slice(1)