Jak przechowywać odpowiedź JSON w jQuery?
Chciałbym przechować moją odpowiedź json w zmiennej globalnej, więc mógłbym użyć jej w mojej aplikacji bez wykonywania żądania getJSON więcej niż raz.
<code>var data; $.getJSON("panorama.json",function(json){ data = json.images[0].src; console.log(data); }); console.log(data); </code>
Jeśli loguję się w aktualnym żądaniu, to dobrze, ale wszędzie jestem „niezdefiniowany”. Wszelkie komentarze zatwierdzone.
Edytuj [skopiowane z komentarzy]: Próbowano ...
<code>$.myglobals = { result: "unset" } $(document).ready(function() { $.getJSON( "panorama.json", function(json) { $.myglobals.result = json.images[0].src; console.log($.myglobals.result); }); console.log($.myglobals.result); }) ; </code>
Pierwszy dziennik jest w porządku, drugi jest niezdefiniowany.
Edytuj [skopiowane z odpowiedzi]:
faktycznie obie metody działały
ciekawe jest to, że moja prośba była w funkcji i próbowałem uzyskać dostęp do mojej zmiennej globalnej zaraz po żądaniu w tej samej funkcji
kiedy uzyskałem go poza funkcją, działało to jak urok