2017-10-18 95 views
-1

Newby问题在这里,我是JAVAscript的新手。

我需要做一些简单的事情。我通过$的getJSON做一个jQuery为:

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

}); 

的执行console.log正在打印正是我需要的,但我不能够得到teste1出$ .getJSON的。我可以得到一个JSON对象,但responseText没有定义,之后我无法解析它。

在resume中,我需要$ .getJSON中的teste1。

我试图返回它,但没有真正的工作。我得到了JSON对象,但我无法获取它里面的信息。

回答

0

由于getJSON方法是异步的,因此返回不是一个好的选择。你可以通过传递这样的响应来调用完成事件的方法,

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

谢谢,问题是我仍然在调用$ .getJSON的函数中得到了这个问题。我需要在代码中向其他函数输出“响应”。也许我应该分配给一个全局变量?!? –