jQuery Ajax kann kein komplexes JSON erhalten?
巴扎黑
巴扎黑 2017-05-19 10:34:09
0
5
869

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?

巴扎黑
巴扎黑

Antworte allen(5)
漂亮男人
$.getJSON("json/food.json", function(data) {
       $.each(data.recommendation, function(i, item) {
            var str = '<p>店名:' + item.food + '人均:' + item.price + '</p>';
            document.write(str);
       });
  });

(其实我觉得把post那行删了应该就没问题了,这么写其实就是省字)

为情所困

你上面的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);
       })
淡淡烟草味

这个json并不复杂,500的话可能先确定是不是服务器问题

给我你的怀抱

500 是服务器端出错了

阿神

AJAX回调成功后,用console.log(data)先看看服务器传过来的,和你想要的数据是不是一致。
其实500错误,就是服务器错误,和$.each()怎么用没半毛钱关系,别人是无辜的

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage