将DOM元素的文本提取到字符串var中 - 为什么未定义?

时间:2014-03-25 23:20:23

标签: javascript jquery json

我是JS开发的新手,并使用jsonlib.fetch获取JSON对象并回避浏览器中的跨域问题。我写了一个用CSS隐藏的DOM元素的响应,并希望将变量设置为我得到的字符串(JSON对象)并将其转换为数组,以便稍后在程序中使用。

jsonlib.fetch(apiurl, function(m) {

  $(".allQuestion").text(m.content);

 });

var allQuestions = $(".allQuestion").text();

然而,当我将allQuestions写入控制台时,我得到未定义或一些空白字符。为什么?有没有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

因为fetch方法是异步方法,所以当您尝试抓取文本时,该方法仍在进行中。在回调中完成所有逻辑:

jsonlib.fetch(apiurl, function(m) {
    $(".allQuestion").text(m.content);
    var allQuestions = $(".allQuestion").text();
});