我正在尝试在页面上打印json数据。我的json数据就是这样。
{
"cars": [
{
"id": "1",
"title": "bmw",
"model": "3.20i",
"price": "200$"
},
{
"id": "2",
"title": "mercedes",
"model": "c200",
"price": "500$"
}
]
}
这就是我将Json数据带到页面的方式。
$(document).ready(function() {
var url = "json.php";
$.getJSON(url, function(data) {
$.each(data, function(index, output) {
var id = output.id;
var title = output.title;
var duration = output.model;
var price = output.price;
$("#listview").append("+ id + title + model + price +");
});
});
});
输出就是这种方式。
undefined undefined undefined undefined
我可以循环使用吗?例如;
1 bmw 3.20i 200$
2 mercedes c200 500$
答案 0 :(得分:0)
$(document).ready(function() {
$.ajax({
url: 'json.php',
method: 'POST',
success : function(output) {
alert(`Data: ${output}`);
output = output.map(val => {
return `${val.id} ${val.title} ${val.model} ${val.price}`;
}).join('<br/>');
$("#listview").append(output);
},
error : function(request,error) {
alert("Request: "+JSON.stringify(request));
}
});
});
答案 1 :(得分:0)
似乎您在这里缺少关闭。您可以围绕值创建一个闭包。最简单的方法是针对每个循环。
$.getJSON(url, function(data) {
if(Array.isArray(data)) {
data.forEach((values, index) => {
const listText = `${values.id} ${values.title} ${values.model} ${values.price}`
$("#listview").append(listText);
})
}});