解决: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);

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

 

 posted on 2016-07-26 13:17  Just_Do  阅读(4305)  评论(0)    收藏  举报