JavaScript 在函数中使用Ajax获取的值作为函数的返回值

解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值

原因:ajax默认使用异步方式,要将异步改为同步方式

案例:通过区域ID,获取该区域下所有的学校

var School = new Object();
//保存区下面所有学校
School.GetAllInArea = function (areaId) {
    var returnData;
    $.ajax({
        url: "/Area/Home/Schools/" + areaId,
        type: "GET",
        dataType: "json",
        async: false,
        success: function (data) {
            returnData= data;
        }
    });
    return returnData;
}

使用

var schools = School.GetAllInArea(@ViewBag.areaEntity.Id);
alert(schools);

这样就可以获取想要的结果

原文地址:https://www.cnblogs.com/caoyc/p/5707130.html