Comment stocker réponse JSON en jQuery?

Je tiens à conserver ma réponse json dans une variable globale, donc, je pourrais utiliser dans mon application sans faire un getJSON demande plus d'une fois.

var data;
$.getJSON("panorama.json",function(json){
data = json.images[0].src;
console.log(data);          
});


console.log(data);

Si je me connecte dans la demande réelle de son bien, mais j'obtiens un "undefined" partout ailleurs.
Aucun commentaire appriciated.

Modifier [copié à partir d'observations]: Essayé ...

$.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); 
}) ;

Le premier journal est bon, le deuxième n'est pas défini.

Modifier [copié à partir de la réponse]:

en fait à la fois la méthode travaillé

la chose intéressante est que mon
la demande a été dans une fonction, et j'ai essayé
pour accéder à ma variable globale droite
après la demande, dans la même fonction

quand j'accessible à l'extérieur de la fonction
il a travaillé comme un charme

Je me demande si vous avez été accéder à votre variable globale avant qu'il a été mis à jour? À partir du JQuery exemple: Remarque: Gardez à l'esprit que les lignes après cette fonction sera exécutée avant les rappels.
vous avez peut-être raison à propos de la mise à jour, mais exactement comment pourrais-je savoir si mon global var a été mise à jour? ou où vais-je mettre ma demande, de sorte que mon global var est mis à jour avant que je l'utilise, la seule chose que je peux penser à est écrit tout dans la demande de rappel mais ça a l'air idiot 🙂

OriginalL'auteur soda01 | 2009-06-19