首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery Ajax对象点符号在REST中未定义

jQuery Ajax对象点符号在REST中未定义
EN

Stack Overflow用户
提问于 2016-07-28 19:14:22
回答 3查看 537关注 0票数 0

嘿,伙计们,我有一个很大的问题,为什么我的for each无法在我的AJAX成功函数中解析我的REStful端点:

所以我有以下代码:

代码语言:javascript
运行
复制
$.ajax({
  dataType: "json",
  url: '/showroom-event-gallery-api',
  success: function(data) {
    var rawData = data.slice(0,10);
    console.log(rawData);
    for (var i = 0, len = rawData.length; i < len; i++) {
      var imageName = rawData.name;
      console.log(imageName);
    }
  }
});

console.log(rawData);语句成功运行,并显示来自REST api的对象。我遇到的问题是,当我尝试使用点符号在所有对象中选择一个名为name的参数并将它们存储到一个变量中时。

当我console.log(imageName);时,我没有定义,但是名称参数在对象中,所以我不确定为什么会发生这种情况?

以下是我的数据示例:

代码语言:javascript
运行
复制
[  
    {  
       id:225,
       car_image_category_id:37,
       image_name:"DSC_9672",
       name:"77a3b8f84d63557d165f3b4ecf0d079e5cd1ae67.jpg",
       path:"img/imagedb/77a3b8f84d63557d165f3b4ecf0d079e5cd1ae67.jpg",
       thumbnail_path:"img/imagedb/thumbs/tn-77a3b8f84d63557d165f3b4ecf0d079e5cd1ae67.jpg",
       created_at:"2016-07-27 18:13:50",
       updated_at:"2016-07-27 18:13:50"
    },
    {  
       id:226,
       car_image_category_id:37,
       image_name:"DSC_9673",
       name:"af508985a53d7288d58cea118389a58b3567b364.jpg",
       path:"img/imagedb/af508985a53d7288d58cea118389a58b3567b364.jpg",
       thumbnail_path:"img/imagedb/thumbs/tn-af508985a53d7288d58cea118389a58b3567b364.jpg",
       created_at:"2016-07-27 18:13:50",
       updated_at:"2016-07-27 18:13:50"
    },
    {  
       id:227,
       car_image_category_id:37,
       image_name:"DSC_9677",
       name:"85832b6a6d952873f2e277ca19b5eab826d63340.jpg",
       path:"img/imagedb/85832b6a6d952873f2e277ca19b5eab826d63340.jpg",
       thumbnail_path:"img/imagedb/thumbs/tn-85832b6a6d952873f2e277ca19b5eab826d63340.jpg",
       created_at:"2016-07-27 18:13:51",
       updated_at:"2016-07-27 18:13:51"
    }
 ]

正如您所看到的,可以选择name,但是,当我使用点符号来执行此操作时,我的变量返回为未定义。

你知道为什么会发生这种事吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-28 19:18:09

应该是rawData[i].name

代码语言:javascript
运行
复制
   for (var i = 0, len = rawData.length; i < len; i++) {
      var imageName = rawData[i].name;
      console.log(imageName);
    }
票数 1
EN

Stack Overflow用户

发布于 2016-07-28 19:20:03

尝试替换

代码语言:javascript
运行
复制
var imageName = rawData.name;

使用

代码语言:javascript
运行
复制
var imageName = rawData[i].name;

您现在正在尝试获取数组的名称,而不是对象的名称

票数 0
EN

Stack Overflow用户

发布于 2016-07-28 19:26:44

$.each()函数很容易与数组一起使用,试试这个。

代码语言:javascript
运行
复制
$.each(rawData, function( index, value ) {
  console.log( index + ": " + value );
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38634751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档