我是JS开发的新手,并使用jsonlib.fetch获取JSON对象并回避浏览器中的跨域问题。我写了一个用CSS隐藏的DOM元素的响应,并希望将变量设置为我得到的字符串(JSON对象)并将其转换为数组,以便稍后在程序中使用。
jsonlib.fetch(apiurl, function(m) {
$(".allQuestion").text(m.content);
});
var allQuestions = $(".allQuestion").text();
然而,当我将allQuestions写入控制台时,我得到未定义或一些空白字符。为什么?有没有更好的方法来做到这一点?
答案 0 :(得分:1)
因为fetch
方法是异步方法,所以当您尝试抓取文本时,该方法仍在进行中。在回调中完成所有逻辑:
jsonlib.fetch(apiurl, function(m) {
$(".allQuestion").text(m.content);
var allQuestions = $(".allQuestion").text();
});