如何等待来自$ .getJson

时间:2016-10-12 14:44:15

标签: javascript jquery getjson jquery-callback

我想从getJson函数返回一个值,但事件不会发生,因为getJSON等待。我尝试了实现的回调函数但结果是一样的。 我的代码是

function getFBName(callback) {
  $.getJSON("http://ip-api.com/json/?callback=?", function (data) {
    callback(data);
  });
}

function handleName(a) {
  console.log(JSON.stringify(a));
  return JSON.stringify(a);
}

控制台结果为true,但返回值为"未定义"

1 个答案:

答案 0 :(得分:1)

如果要获取值以返回函数getFBName。你可以做这样的事情:

function getFBName(callback) {
    $.getJSON("http://ip-api.com/json/?callback=?")
    .done(function(result) {
        console.log(result.a); //assuming that exist the element a
    });
};

注意:您可以在" console.log"中添加断点。并检查为什么返回undefined。确保正确访问json响应的结果。 请记住,getJSON是异步的