jquery中ajax如何返回值到上层函数里?
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
这个涉及到js的异步执行了,程序本身是同步执行的,到了getJSON这里的时候,这个函数是异步的,而 load_val这个函数是同步的,你需要这样来异步返回这个值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | function load_val(callback){//定义一个回调函数 $.getJSON('test.php' , function(dat){ callback(data);//将返回结果当作参数返回 }); }
load_val(function(data){ alert(data);//这里可以得到值 });
//否则的话你需要这样用同步ajax来实现了
function load_val2(){ var result; $.ajax({ dataType:'json', url : 'test.php', async:false,//这里选择异步为false,那么这个程序执行到这里的时候会暂停,等待 //数据加载完成后才继续执行 success : function(data){ result = data; } }); return result; }
var data = load_val();//这里可以直接拿到数据 |
- 1 回答
- 0 关注
- 390 浏览
添加回答
举报
0/150
提交
取消