js函数嵌套调用,无法获取函数返回值代码实现
程序员文章站
2022-04-19 18:50:07
正常情况:
function a() {
return true;
}
function b() {
var ret = a();
alert(ret);...
正常情况:
function a() { return true; } function b() { var ret = a(); alert(ret); }
异常情况:
function a() { $.ajax({ url:'www.baidu.com', data: {}, method:'post', dataType:'json', success:function(data){ return true; }, error: function (data) { return false; } }); } function b() { var ret = a(); alert(ret); }
由于使用ajax进行异步请求,导致函数调用a函数,不等ajax执行完,就执行alert,导致无法获取a函数的输出,输出报错。
修改方法:
function a() { $.ajax({ url:'www.baidu.com', data: {}, method:'post', dataType:'json', async:false, success:function(data){ return true; }, error: function (data) { return false; } }); } function b() { var ret = a(); alert(ret); }
关闭ajax的异步请求为同步即可。