Czy jQuery ma wbudowaną obsługę JSON lub czy muszę używać wtyczki, takiej jak jquery.json-1.3.min.js?Czy jQuery ma wbudowaną obsługę JSON?
Odpowiedz
Można również użyć $ .ajax i ustawić dataType option do "json":
$.ajax({
url: "script.php",
global: false,
type: "POST",
data: ({id : this.getAttribute('id')}),
dataType: "json",
success: function(json){
alert(json.foo);
}
}
);
Również $.get i $.post mieć opcjonalny czwarty parametr, który pozwala na ustawić typ danych odpowiedzi, np
$.postJSON = function(url, data, callback) {
$.post(url, data, callback, "json");
};
$.getJSON = function(url, data, callback) {
$.get(url, data, callback, "json");
};
to jest sposób, w jaki próbuję to zrobić właściwie, otrzymuję odpowiedź json z wywołania ajax, więc jest to idealne dla mojej sytuacji! – JasonDavis
Tak, absolutnie tak. Można zrobić coś takiego:
$.getJSON('/foo/bar/json-returning-script.php', function(data) {
// data is the JSON object returned from the script.
});
dziękuję, to dobrze wiedzieć, w mojej sytuacji odpowiedź karim79 jest taka, jak tego potrzebuję. +1 Zastanawiam się, dlaczego mają wtyczkę dla jsona, jeśli jest ona wbudowana !? – JasonDavis
wsparcie jQuery JSON jest uproszczone, rzucanie ostrożność do wiatru. Użyłem $.ajax
, a następnie przeanalizuję tekst odpowiedzi za pomocą json.org javascript library. Analizuje leksykalnie, aby uniknąć używania eval()
i prawdopodobnie wykonywania dowolnego kodu.
jQuery obsługuje dekodowania JSON, ale nie obsługuje kodowania out-of-the-box. Do kodowania potrzebujesz wtyczki, oddzielnej biblioteki lub przeglądarki obsługującej natywnie komendy JSON.stringify i JSON.parse.
Kodowanie lub dekodowanie? –
Nie widzę, jak to jest związane z programowaniem? – geejay
@geejay nie masz? jquery jest javascript, AJAX, json, wszystkie są bardzo związane z programowaniem. – JasonDavis