javascript - ajax 成功后循环 JSON 响应

标签 javascript jquery ajax json

我正在使用以下 ajax 返回 JSON 数据:-

$.ajax({
    type: "POST",
    url: "####",
    data: "####",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
       ????
    }
});

这是返回的 JSON 数据,当鼠标悬停在 Chrome 开发者工具中的函数(数据)上时,我看到了这一点:-

d: "[{"name":"deepak","arrivalTime":"675"},{"name":"sumit","arrivalTime":"690"},{"name":"satish","arrivalTime":"1740"}]"

现在我想循环并显示名称和到达时间,请帮助我。

我尝试了以下方法,但没有一个起作用:-

1.

for (var i = 0; i < data.length; i++) {
  var obj = data[i];
  for (var key in obj) {
    var attrName = key;
    var attrValue = obj[key];
  }
}

2.

for (var i = 0; i < data.length; i++) {
    var obj = data[i];
    console.log(obj.name);
    console.log(obj.arrivalTime);
}

3.

$.map(data.d, function (item, data) {
    console.log(item.name);
    console.log(data.name);
    console.log(item.arrivalTime);
    console.log(data.arrivalTime); //tried all luck :)
});

4.

$.each(data, function(i, item) {
    alert(data[i].name);
    alert(data[i].arrivalTime);
})

5.

$.each(data, function(i, item) {
    alert(item.name);
    alert(item.arrivalTime);
})

最佳答案

不确定您得到了什么,但似乎您的数据作为对象 d 返回。

var dataArray = data.d;
for (var i = 0; i < dataArray.length; i++){
   var name = dataArray[i].name;
   var arrivalTime = dataArray[i].arrivalTime;
};

顺便说一句,对我来说,你的字符串数组看起来像一个字符串,你可能想解析它。

var dataArray = JSON.parse(data.d);
for (var i = 0; i < dataArray.length; i++){
   var name = dataArray[i].name;
   var arrivalTime = dataArray[i].arrivalTime;
};

关于javascript - ajax 成功后循环 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676625/

相关文章:

javascript - .diff 不是 moments.js 上的函数

javascript - 如何解决Node js和mongodb中的时区问题?

javascript - 在浏览器窗口中创建动态灵活的分区标签

javascript - 如何在 JQuery 中通过属性查找元素?

jquery - IE 的 CSS3 动画旋转器解决方法

jquery - jQuery ajax post 时出现 SystemStackError(堆栈级别太深)

javascript - Angular 4 使用 Renderer2/HostListener 来单击外部事件

javascript - react this.setState 未定义

JQuery如何找出ajax错误是什么?

javascript - 使用 jquery-ajax 将表单输入发送到服务器