2017-10-18 10 views
-1

Newby question ici, je suis nouveau à JAVAscript.

Je dois faire des choses simples. Je fais un jquery par getJSON $ comme:

$.getJSON(Flask.url_for("articles"), parameters).done(function(data, textStatus, jqXHR){ 
    var teste1=JSON.parse(jqXHR.responseText); 
    console.log(".done"); 
    console.log(teste1); 

}); 

Le console.log imprime exactement ce que j'ai besoin, mais je ne suis pas en mesure d'obtenir teste1 de la .getJSON $. Je pourrais obtenir un objet JSON mais le responseText n'est pas défini et je ne peux pas l'analyser par la suite.

En résumé, j'ai besoin du teste1 sur $ .getJSON.

J'ai essayé de le retourner mais rien n'a vraiment fonctionné. J'obtiens l'objet JSON mais je suis incapable d'obtenir l'information à l'intérieur.

Répondre

0

Étant donné que la méthode getJSON est async, return n'est pas une bonne option ici. Vous pouvez appeler une méthode à partir de l'événement done en passant la réponse comme ceci,

$.getJSON(Flask.url_for("articles"), parameters).done(function(data, textStatus, jqXHR){ 
    var teste1=JSON.parse(jqXHR.responseText); 
    console.log(".done"); 
    parseResponse(teste1); 

}); 

function parseResponse(response){ 
    console.log(response); 
} 
+0

Merci, le problème c'est que j'ai encore cela dans la fonction qui appelle $ .getJSON. J'ai besoin de sortir la "réponse" à d'autres fonctions dans le code. Peut-être que je devrais attribuer à une variable globale?!? –