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

前端之家收集整理的这篇文章主要介绍了为什么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内。

原文链接:https://www.f2er.com/ajax/166834.html

猜你在找的Ajax相关文章