84 votes

jQuery getJSON enregistrer le résultat dans une variable

J'utilise getJSON pour demander un JSON à mon site web. Cela fonctionne très bien, mais j'ai besoin de sauvegarder la sortie dans une autre variable, comme ceci :

var myjson= $.getJSON("http://127.0.0.1:8080/horizon-update", function(json) {

                 });

Je dois enregistrer le résultat dans myjson mais il semble que cette syntaxe ne soit pas correcte. Une idée ?

75voto

webdeveloper Points 8205

Vous ne pouvez pas obtenir de valeur lorsque vous appelez getJSON seulement après la réponse.

var myjson;
$.getJSON("http://127.0.0.1:8080/horizon-update", function(json){
    myjson = json;
});

25voto

Ravi Gadag Points 9809

$.getJSon attend une fonction de rappel, soit vous la passez à la fonction de rappel, soit vous l'assignez à une variable globale dans la fonction de rappel.

var globalJsonVar;

    $.getJSON("http://127.0.0.1:8080/horizon-update", function(json){
               //do some thing with json  or assign global variable to incoming json. 
                globalJsonVar=json;
          });

Le mieux est d'appeler la fonction de rappel, ce qui est plus agréable à l'œil et plus lisible.

$.getJSON("http://127.0.0.1:8080/horizon-update", callbackFuncWithData);

function callbackFuncWithData(data)
{
 // do some thing with data 
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X