簡體   English   中英

Ajax成功后循環JSON響應

[英]Loop in JSON response after ajax success

我正在使用下面的ajax返回JSON數據:-

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

這是返回的JSON數據,當鼠標懸停在chrome開發者工具中的function(data)上時,我會看到以下內容:

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;
};

嘗試這個:

var d = '[{"name":"deepak","arrivalTime":"675"},{"name":"sumit","arrivalTime":"690"},{"name":"satish","arrivalTime":"1740"}]';
d = JSON.parse(d);
for (i =0; i< d.length; i++) {
  alert(d[i].name+"--"+d[i].arrivalTime);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM