获取ajax响应中的字段

问题描述 投票:-1回答:6

我发送ajax请求并获得这样的响应

$.post("loadlatestreviews.html", function(data) {
    $("#latest").html(data);
});

响应是一组看起来像这样的数据

[
 {"subject" : "xxx", "message" : "xxx", "dateTime" : "Mar 5 xxxx"},
 {"subject" : "yyy", "message" : "yyy", "dateTime" : "Mar 5 yyyy"}
]

如何阅读字段subjectmessagedateTime

jquery json
6个回答
2
投票

使用$.each() jquery方法:

var data = JSON.parse(data);
$.each(data, function(i, item){
    console.log(item.subject);
    console.log(item.message);
    console.log(item.dateTime);
});

你必须首先用JSON.parse(data);解析你的字符串,你必须循环你的数据,因为你的响应是一个包含json对象的数组。


1
投票

尝试类似的东西:

$.ajax({
  url: 'loadlatestreviews.html'
  method: 'POST',
  dataType: 'json',
  success: function(data) {
    console.log(data);
    for (d in data) console.log(data[d]);
  }
});

这应该让你开始。此外,如果您实际上没有发送任何内容,则可以省略method: 'POST'参数,除非您确实需要POST。

让我知道这对你有什么用。


1
投票
$.each(data, function(i, obj){
    var subj = obj.subject;
    var msg = obj.message;
    var date = obj.dateTime;
});

1
投票

除了$.each方法之外,一旦解析了JSON,您就可以按名称访问内部字段:

$.ajax({
  url: 'loadlatestreviews.html'
  method: 'POST',
  dataType: 'json',
  success: function(data) {
    console.log(data);
    var fields = JSON.parse(data);
    var subject = fields["subject"];
  }
});

0
投票
for(i in data) {
  console.log(data[i]['subject'])
}

0
投票

通过使用$ .each()jquery方法,您可以迭代JSON响应数据。

var data = JSON.parse(data);
$.each(data, function(i, itm){
    // You can get each value in loop
    console.log(itm['subject']);
    console.log(itm['message']);
    console.log(itm['dateTime']);
});

我希望这个答案对你有用。

© www.soinside.com 2019 - 2024. All rights reserved.