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

时间:2022-11-17 14:45:19

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

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