解决: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);
这样就可以获取想要的结果