Pada sukses callback jQuery AJAX saya ingin mengulang hasil objek. Ini adalah contoh bagaimana respons terlihat di Firebug.
[
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
Bagaimana saya bisa mengulang hasil sehingga saya akan memiliki akses ke masing-masing elemen? Saya telah mencoba sesuatu seperti di bawah ini tetapi ini sepertinya tidak berhasil.
jQuery.each(data, function(index, itemData) {
// itemData.TEST1
// itemData.TEST2
// itemData.TEST3
});
Jawaban:
Anda dapat menghapus lingkaran luar dan ganti
this
dengandata.data
:Anda sudah dekat:
Anda memiliki larik objek / peta sehingga loop luar beralih di atasnya. Loop dalam berulang pada properti pada setiap elemen objek.
sumber
$(data)
alih-alihdata
, variabelk
selalu mengembalikan 0.Anda juga dapat menggunakan fungsi getJSON :
Ini benar-benar hanya penulisan ulang jawaban ifesdjeen, tetapi saya pikir ini mungkin membantu orang.
sumber
Jika Anda menggunakan Fire Fox, cukup buka konsol (gunakan tombol F12) dan coba ini:
semoga membantu
sumber
Untuk orang lain yang terjebak dengan ini, itu mungkin tidak berfungsi karena panggilan ajax mengartikan data Anda yang dikembalikan sebagai teks - artinya ini belum menjadi objek JSON.
Anda bisa mengonversinya menjadi objek JSON dengan secara manual menggunakan perintah parseJSON atau cukup menambahkan dataType: properti 'json' ke panggilan ajax Anda. misalnya
sumber
Uncaught TypeError: Cannot use 'in' operator to search for '188' in
mendapatkan kesalahan itu.Akses json array seperti yang Anda lakukan pada array lainnya.
sumber
[0]
, selanjutnya[1]
, dan seterusnya.Inilah yang saya buat untuk dengan mudah melihat semua nilai data:
sumber
Coba fungsi jQuery.map , berfungsi cukup baik dengan peta.
sumber
jika Anda tidak ingin lansiran, yaitu Anda ingin html, maka lakukan ini
CATATAN: gunakan "tambahkan" bukan "html" yang lain hasil terakhir adalah apa yang akan Anda lihat pada tampilan html Anda
maka kode html Anda akan terlihat seperti ini
Anda juga bisa memberi style (add class) div di jquery sebelum dirender sebagai html
sumber
Jika Anda menggunakan metode singkat fungsi panggilan ajax JQuery seperti yang ditunjukkan di bawah ini, data yang dikembalikan perlu ditafsirkan sebagai objek json agar Anda dapat mengulang.
sumber
Saya sebagian ke fungsi panah ES2015 untuk menemukan nilai dalam array
Lihat Array.prototype.find () DI SINI
sumber
$each
akan berfungsi .. Pilihan lain adalah jQuery Ajax Callback untuk hasil arraysumber
Saya menggunakan .map untuk foreach. Sebagai contoh
sumber