每当我这样做时:
$.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:请注意,即使它只返回一个所谓的大数组的第一个值,即使我尝试使用它,它也不会让我,但是,我可以记录它。
最佳答案
由于 data
是一个数组,因此每个单独的部分都作为事件回调中的单独参数发送。这很奇怪,因为如果 data
是一个对象,情况就不会如此(您可以像 data
一样使用它)。
相反,只需使用data = argument.slice(1)
关于javascript - jQuery ajax 不返回整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744429/