Le code du fichier JSON est le suivant :
[
{
"name":"炭火烤肉",
"imgsrc":"img/classification.jpg",
"average":167,
"address":"综合楼3楼",
"classify":"bbq",
"recommendation":[
{"food":"和牛拼盘","price":198},
{"food":"精选套餐","price":320},
{"food":"特选牛舌","price":58}
]
}
]
Le code du script est le suivant :
$.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;
}
});
Le problème actuel est :
La data.recommendation dans la fonction $.each() ne semble pas être utilisée de cette manière (? L'alerte affiche "Internal Server Error" et le code d'erreur est 500,4).
Essayez de le remplacer par data et remplacez les éléments item.food et item.price suivants par item.name. Item.average peut obtenir json normalement (le chemin json est correct). Donc, si je souhaite obtenir la nourriture et le prix dans la recommandation, comment dois-je modifier le code ?
(En fait, je pense que ça devrait aller si je supprime la ligne de message. L'écrire de cette façon sauve des mots)
Le fichier json ci-dessus est un tableau, vous devez donc accéder à data[0].recommendation pour accéder aux données, vous pouvez utiliser console.log(data) qui est un [objet], vous savez donc comment résoudre ; il .
Ce json n'est pas compliqué S'il vaut 500, vous pouvez d'abord déterminer s'il s'agit d'un problème de serveur
.500 est une erreur côté serveur
Une fois le rappel AJAX réussi, utilisez console.log(data) pour voir si les données envoyées par le serveur sont cohérentes avec les données souhaitées.
.En fait, l'erreur 500 est une erreur de serveur et n'a rien à voir avec la façon dont $.each() est utilisé. Les autres sont innocents