Heim > Fragen und Antworten > Hauptteil
Der JSON-Dateicode lautet wie folgt:
[
{
"name":"炭火烤肉",
"imgsrc":"img/classification.jpg",
"average":167,
"address":"综合楼3楼",
"classify":"bbq",
"recommendation":[
{"food":"和牛拼盘","price":198},
{"food":"精选套餐","price":320},
{"food":"特选牛舌","price":58}
]
}
]
Der Skriptcode lautet wie folgt:
$.ajax({
url: "json/food.json",
type: "post",
dataType: "json",
success: function(data) {
$.each(data.recommendation, function(i, item) {
var str = '<p>店名:' + item.food + '人均:' + item.price + '</p>';
document.write(str);
})
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.responseText);
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus); // parser error;
}
});
Das aktuelle Problem ist:
Die data.recommendation in der Funktion $.each() scheint nicht auf diese Weise verwendet zu werden (?) Die Warnung zeigt „Interner Serverfehler“ an und der Fehlercode ist 500,4.
Versuchen Sie, es in Daten zu ändern und die folgenden Elemente item.food und item.price in item.name zu ändern. Item.average kann JSON normal abrufen (der JSON-Pfad ist korrekt). Wenn ich also das Essen und den Preis in der Empfehlung sehen möchte, wie soll ich den Code ändern?
漂亮男人2017-05-19 10:36:09
$.getJSON("json/food.json", function(data) {
$.each(data.recommendation, function(i, item) {
var str = '<p>店名:' + item.food + '人均:' + item.price + '</p>';
document.write(str);
});
});
(其实我觉得把post那行删了应该就没问题了,这么写其实就是省字)
为情所困2017-05-19 10:36:09
你上面的json文件里面是一个数组,所以需要访问data[0].recommendation,才能访问到数据;你可以用console.log(data)是一个[object],这样你就知道怎么解决了。
$.each(data[0].recommendation, function(i, item) {
var str = '<p>店名:' + item.food + '人均:' + item.price + '</p>';
document.write(str);
})
阿神2017-05-19 10:36:09
AJAX回调成功后,用console.log(data)先看看服务器传过来的,和你想要的数据是不是一致。
其实500错误,就是服务器错误,和$.each()怎么用没半毛钱关系,别人是无辜的