我有一个ajax响应,我想对其进行迭代以提取所需的数据。此刻,我将第一个结果的值显示在页面上的输入框中,但是我不知道如何显示其他结果,从而创建了一个列表。
这是我的ajax请求,它正确显示了第一条记录的结果:
$.ajax({
url: "messageAPI",
method: "get",
type: "application/json",
success: function (result) {
console.log(result);
let message = result["Data"]["dsMessage"]["ttMessage"][0];
$(".reference").val(message.reference);
$(".date").val(message.date);
},
error: function (result) {
console.log(result);
}
});
这是我当前在页面上显示数据的方式:
<input class="date" />
这是我的JSON文件的简化版本:
{"Data":{"dsMessage":{"ttMessage":
[
{"date":"2018-02-09","reference":"Call Mr Jones ",0},
{"date":"2018-03-08","reference":"Call Mr Smith ",0},
]
}}}
我一直在网上搜索,从我阅读的for循环中可以看到成功函数,但是我不确定如何构造它。我尝试了一些我在网上找到的东西,但是没有用。
我尝试了这段代码,但是没有产生任何结果或错误:
$.each(Message.items, function (index, Message) {
alert(Message.reference)
});
我有点茫然,由于我没有经验,所以我不知道从这里去哪里。任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
我这样修改了您的JSON:
{"Data":{"dsMessage":{"ttMessage":
[
{"date":"2018-02-09","reference":"Call Mr Jones ", "index": 0},
{"date":"2018-03-08","reference":"Call Mr Smith ", "index": 0}
]
}}}
请注意每个零之前的"index":
。还删除了数组中的尾部逗号,但这可能会或可能不会给您带来麻烦。
那时,我这样迭代:
for (var m = 0; m < result["Data"]["dsMessage"]["ttMessage"].length; m ++) {
var message = result["Data"]["dsMessage"]["ttMessage"][m];
console.log(message.reference); // do what you want with this
console.log(message.date); // and this
}