jQuery ajax tidak boleh mendapatkan json yang kompleks?
巴扎黑
巴扎黑 2017-05-19 10:34:09
0
5
835

Kod fail JSON adalah seperti berikut:

[
{
"name":"炭火烤肉",
"imgsrc":"img/classification.jpg",
"average":167,
"address":"综合楼3楼",
"classify":"bbq",
"recommendation":[
{"food":"和牛拼盘","price":198},
{"food":"精选套餐","price":320},
{"food":"特选牛舌","price":58}
]
}
]

Kod skrip adalah seperti berikut:

$.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;
} 
});

Masalah semasa ialah:
Data.syor dalam fungsi $.each() nampaknya tidak digunakan dengan cara ini (?) Amaran memaparkan "Ralat Pelayan Dalaman" dan kod ralat ialah 500,4.
Cuba tukar kepada data dan tukar item.food dan item.price berikut kepada item.name.average boleh mendapatkan json secara normal (laluan json adalah betul). Jadi jika saya ingin mendapatkan makanan dan harga dalam pengesyoran, bagaimanakah saya harus menukar kod tersebut?

巴扎黑
巴扎黑

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

(Sebenarnya, saya rasa tidak mengapa jika saya memadamkan baris siaran. Menulisnya dengan cara ini sebenarnya menjimatkan perkataan)

为情所困

Fail json di atas ialah tatasusunan, jadi anda perlu mengakses data[0].syor untuk mengakses data anda boleh menggunakan console.log(data) yang merupakan [objek], supaya anda tahu cara menyelesaikannya ia.

 $.each(data[0].recommendation, function(i, item) {
            var str = '<p>店名:' + item.food + '人均:' + item.price + '</p>';
            document.write(str);
       })
淡淡烟草味

Json ini tidak rumit Jika 500, anda boleh tentukan dahulu sama ada ia masalah pelayan

给我你的怀抱

500 adalah ralat di bahagian pelayan

阿神

Selepas panggilan balik AJAX berjaya, gunakan console.log(data) untuk melihat sama ada data yang dihantar oleh pelayan adalah konsisten dengan data yang anda inginkan.
Malah, ralat 500 adalah ralat pelayan dan tiada kaitan dengan cara $.each() digunakan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan