Mam wywołanie AJAX, które zwraca trochę JSON w następujący sposób:
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://example/functions.php',
data: { get_param: 'value' },
success: function (data) {
var names = data
$('#cand').html(data);
}
});
});
Wewnątrz #cand
div dostanę:
[ { "id" : "1", "name" : "test1" },
{ "id" : "2", "name" : "test2" },
{ "id" : "3", "name" : "test3" },
{ "id" : "4", "name" : "test4" },
{ "id" : "5", "name" : "test5" } ]
Jak mogę przeglądać te dane i umieszczać każdą nazwę w div?
contentType: 'application/json'
ustawienie w swojej$.ajax
funkcji i JSON serializacjidata
parametr, tak:data: JSON.stringify({ get_param: 'value' })
. Następnie w skrypcie php musisz dekodować json, aby odzyskać oryginalny obiekt.{"0":{"level1":"done","level2":"done","level3":"no"}}
jak wyodrębnić to do każdej zmiennej? próbowałem w ten$.each
sposób przy użyciu metody, ale zwraca niezdefiniowany varlevel1 = ele[0].level1;
Ustawienie
dataType:'json'
przeanalizuje dla Ciebie JSON:Albo możesz użyć
parseJSON
:Następnie możesz powtórzyć następujące czynności:
... za pomocą
$().each
:JSFiddle
źródło
{"0":{"level1":"done","level2":"done","level3":"no"}}
jak można to wyodrębnić do każdej zmiennej? próbowałem w ten$.each
sposób przy użyciu metody, ale zwraca niezdefiniowany varlevel1 = ele[0].level1;
json[0]
Wypróbuj następujący kod, działa w moim projekcie:
źródło
źródło
Użyj tego kodu.
źródło
ok, miałem ten sam problem i naprawiłem go w ten sposób, usuwając
[]
z[{"key":"value"}]
:a także możesz zapętlić go, jeśli chcesz
źródło
Zgadzam się ze wszystkimi powyższymi rozwiązaniami, ale aby wskazać, jaka jest podstawowa przyczyna tego problemu, główną rolę w powyższym kodzie odgrywa następujący wiersz kodu:
gdy przegapisz ten wiersz (który jest opcjonalny), dane zwrócone z serwera są traktowane jako ciąg pełnej długości (który jest domyślnym typem zwrotu). Dodanie tego wiersza kodu informuje jQuery, aby przekonwertować możliwy ciąg json na obiekt json.
Wszelkie wywołania jQuery ajax powinny określać ten wiersz, jeśli oczekuje się obiektu danych json.
źródło
źródło
Dane Json
Podczas pobierania
źródło
źródło