最近在学习backbone,写了几段代码,其中遇到了点问题,代码如下
var getData = null; $.get('data.pnp',function(data){getData = data;}) console.log(getData);
然后问题就来了,console死活不出来数据, 这个闭包问题怎么办呢。 $.get肯定是获取数据成功了的,在$.get回调函数内,打印数据也是有的。 如何在外面获取getData
这个原因是因为还没执行到回调函数的时候,就已经直接执行下面的 console.log(getData) 语句了。
console.log(getData)
你得设置成同步请求才能达到你想要的效果。
var getData = null; $.ajax({ type: "GET", url: "data.php", async: false, success: function(data) { getData = data; } }); console.log(getData);
这个原因是因为还没执行到回调函数的时候,就已经直接执行下面的
console.log(getData)
语句了。你得设置成同步请求才能达到你想要的效果。