js函数嵌套调用,无法获取函数返回值
正常情况:
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的异步请求为同步即可。