如果我在里面调用一个方法,则在ajax调用中返回空

时间:2017-06-20 17:06:02

标签: javascript jquery ajax

我想问一个关于ajax问题的问题:

  $.ajax({
    url: "wikiLoader.php?keyword=" + nomeRicerca+"&username="+nomeUtente,
    type: 'GET',
    contentType: "application/json",
    dataType: "json",
    success: function(res) {
        console.log(res);
        content.annotator("loadAnnotations", res);
    },
    error: function(xhr, textStatus, error) {
        ...
    }
});

在我的控制台中,当我打印它时,res是空的,但在函数content.annotator(" loadAnnotations",res)中,它运行良好且res ​​infact不为空。如果我评论函数content.annotator(" loadAnnotations",res),我看到res的真实内容是一个json对象 提前感谢您的回答

1 个答案:

答案 0 :(得分:0)

当代码移动到console.log(res)行时,AJAX调用仍在执行,因此消息变量没有值。

您需要将响应的值传递给success方法中的函数。

success: function(res) {
  printValue(res);
}

//在AJAX调用之外

function printValue(res) {
    console.log(res);
    var content = res;
    content.annotator("loadAnnotations", content);
}