问题是这样的:定义一个全局全量,例如:var i=0;
然后调用jquery的一个函数
 $.get(url, function(data) {
i=9;
})
alert(i);
得到的是0而不是9.我想得到函数中给他赋的值9,要怎么办。我知道$.get(url,function(data){i=9})是异步执行的。要怎么办才能在异步方式中给全局变量赋值?

解决方案 »

  1.   

    因为发送的是异步请求,实际上i值已经改变了,只不过没有马上alert中表现出来,如果你再加个button,重新触发alert(i),就能得到9 var i=0;
    $.ajax({
       url:"test.html",
       success:function(){
          i = 9;
       },
       async: false
    });
    alert(i)另外,$.get似乎没有async的option,如果使用$.ajax并将async设置为同步请求,就可以马上获得改变过的i值