为什么ajax中加载的数据无法赋值给变量

在项目开发中时常会碰到在ajax中加载的数据再次取出是确发现总也取不到值,如下面:

var myvar = 0;

function ajaxLoadData()

{

        $.getJSON("useraction.action", {id: id, r:Math.random()}, function(data){

                   if(data != null)

                   {

                            myvar = data;

                            .................

                    }

       });

       alert(myvar);

}

 

如上代码如果运行的话,会发现弹出的信息有可能是没有被赋值,而实际上data是有值的,对于初学者而言估计就有些感觉莫名其妙,其实经过研究可以发现alert的地方并不是在ajax请求的方法体内,我们知道ajax的请求默认是以异步传输的,那么运行这段代码的时候不管ajax请求是否已经返回值,程序都要顺序向下执行,从而导致变量没有被赋值,所以如果要想让变量赋到值必须将其写在ajax请求方法内,即getJSON内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值