当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js函数嵌套调用,无法获取函数返回值代码实现

js函数嵌套调用,无法获取函数返回值代码实现

2018年04月13日  | 移动技术网IT编程  | 我要评论

正常情况:

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的异步请求为同步即可。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网