我创建了一个包含jQuery ajax调用的特殊函数。我提供变量“settings”,这是一个包含操作所需的所有选项的数组。问题是该函数将数据返回给数组。
下面的ajaxPost函数工作并收集数据,并已使用alert(数据)进行测试;但是当它进入测试功能时,警报出现未定义。我的理解是async:false应该在继续之前完成该功能。有没有办法解决这个问题?
// jQuery Post功能
function ajaxPost(settings){
showLoading(settings.loading);
$.ajax({
async: false,
url: settings.file,
type: "POST",
data: settings.vars
}).done(function(data){
hideLoading();
return data;
}).fail( function(xhr, textStatus, errorThrown) {
displayAlert('red',settings.bad);
console.log(xhr.responseText);
hideLoading();
return '0';
});
}
//函数调用ajaxPost();
function test(){
var settings = {
'file':'../functions/admin/setup/setup.php',
'loading':'Creating Facilities',
'vars':$('#wiz').serialize()
}
var test = ajaxPost(settings);
alert(test);
}