12345678_0001
首先你已经设置了async: false,那么这段请求就是同步阻塞的,直接在后面取就可以了。function searchCount(type) { var searchCountUrl = domain + "rest/member/searchCount.do"; var aj = $.ajax({
url: searchCountUrl,
method: 'get',
async: false,
data: {
key: "mooc",
keyword: skeyword, type: type
},
}); return aj.responseText;
}
alert(searchCount(type));如果设置async: true,那就需要以回调的形式获取结果。function searchCount(type,callback) { var searchCountUrl = domain + "rest/member/searchCount.do";
$.ajax({
url: searchCountUrl,
method: 'get', async: true,
data: {
key: "mooc",
keyword: skeyword, type: type
},
success: function (data) { var activityCount = data.data.activityCount;
callback(activityCount);
}
})
}
searchCount(type,function(activityCount){
alert(activityCount);
});或者用新特性的Promise来封装function searchCount(type) { return new Promise(function(resolve){
var searchCountUrl = domain + "rest/member/searchCount.do";
$.ajax({
url: searchCountUrl,
method: 'get', async: true,
data: {
key: "mooc",
keyword: skeyword, type: type
},
success: function (data) { var activityCount = data.data.activityCount;
resolve(activityCount);
}
});
});
}//ES6searchCount(type)
.then(function(activityCount){
alert(activityCount);
});//ES2017alert(await searchCount(type));