返回出$.get获取到的数据

最近在学习backbone,写了几段代码,其中遇到了点问题,代码如下

var getData = null;
$.get('data.pnp',function(data){getData = data;})
console.log(getData);

然后问题就来了,console死活不出来数据,
这个闭包问题怎么办呢。
$.get肯定是获取数据成功了的,在$.get回调函数内,打印数据也是有的。
如何在外面获取getData

阅读 7.3k
1 个回答

这个原因是因为还没执行到回调函数的时候,就已经直接执行下面的 console.log(getData) 语句了。

你得设置成同步请求才能达到你想要的效果。

var getData = null;
$.ajax({
    type: "GET",
    url: "data.php",
    async: false,
    success: function(data) {
        getData = data;
    }
});
console.log(getData);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题