Saya memiliki panggilan AJAX yang mengembalikan beberapa JSON seperti ini:
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://example/functions.php',
data: { get_param: 'value' },
success: function (data) {
var names = data
$('#cand').html(data);
}
});
});
Di dalam #cand
div saya akan mendapatkan:
[ { "id" : "1", "name" : "test1" },
{ "id" : "2", "name" : "test2" },
{ "id" : "3", "name" : "test3" },
{ "id" : "4", "name" : "test4" },
{ "id" : "5", "name" : "test5" } ]
Bagaimana saya bisa mengulang data ini dan menempatkan setiap nama dalam div?
contentType: 'application/json'
pengaturan di Anda$.ajax
fungsi dan JSON cerita bersambungdata
parameter, seperti itu:data: JSON.stringify({ get_param: 'value' })
. Kemudian dalam skrip php Anda, Anda perlu json decode untuk mendapatkan kembali objek asli.{"0":{"level1":"done","level2":"done","level3":"no"}}
bagaimana cara mengekstrak ini ke dalam setiap variabel? saya mencoba seperti ini menggunakan$.each
metode tetapi mengembalikan var tidak terdefinisilevel1 = ele[0].level1;
Pengaturan
dataType:'json'
akan mengurai JSON untuk Anda:Atau Anda dapat menggunakan
parseJSON
:Kemudian Anda dapat mengulangi yang berikut ini:
... dengan menggunakan
$().each
:JSFiddle
sumber
{"0":{"level1":"done","level2":"done","level3":"no"}}
bagaimana cara mengekstrak ini ke dalam setiap variabel? saya mencoba seperti ini menggunakan$.each
metode tetapi mengembalikan var tidak terdefinisilevel1 = ele[0].level1;
json[0]
Coba kode berikut, ini berfungsi di proyek saya:
sumber
sumber
Gunakan kode itu.
sumber
ok saya punya masalah yang sama dan saya memperbaikinya seperti ini dengan menghapus
[]
dari[{"key":"value"}]
:dan juga Anda dapat mengulanginya jika Anda mau
sumber
Saya setuju dengan semua solusi di atas, tetapi untuk menunjukkan apa penyebab utama dari masalah ini adalah, bahwa pemain peran utama dalam semua kode di atas adalah baris kode ini:
ketika Anda melewatkan baris ini (yang opsional), data yang dikembalikan dari server diperlakukan sebagai string panjang penuh (yang merupakan tipe pengembalian default). Menambahkan baris kode ini menginformasikan jQuery untuk mengonversi string json yang mungkin menjadi objek json.
Setiap panggilan ajax jQuery harus menentukan baris ini, jika mengharapkan objek data json.
sumber
sumber
Data json
Saat mengambil
sumber
sumber