javascript - jQuery ajax 不返回整个对象

标签 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:请注意,即使它只返回一个所谓的大数组的第一个值,即使我尝试使用它,它也不会让我,但是,我可以记录它。

最佳答案

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

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

关于javascript - jQuery ajax 不返回整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744429/

相关文章:

javascript - Node 模块。私有(private)变量被重置

javascript - 关闭控制台中的广告输出/错误

javascript - jQuery.each 用于列表和非列表

jquery - 为什么控制台显示jquery没有方法 'live'

javascript - Ajax使用session时不上传文件

java - 400(错误请求)错误 - 使用 JQuery AJAX 的 Spring-boot 文件上传

javascript - 带 for 循环的 Fizzbuzz 游戏

jquery - IE11 + jQuery 1.8.3 : dynamically added textarea with placeholder has text set to placeholder

javascript - 如何将ajax数据传递给react中的组件

javascript - 尝试从 C# 中的文本框获取文本值时出错(ASP.NET gridview)