前端ajax 调用后台的一个校验结果
关键点:
1)同步调用:async:false
2)return 不要在 ajax 的success里返回,在外面返回
//到后台去检查数据库连接是否正确,两处调用:checkBeforeSubmit,testDbConnect
function checkDbConnect(){
var bb = {"status":"200","info":""};
//begin 判断数据库配置是否正确
var url = "{:addon_url('ontimebackup/index/testDbConnect')}";
var databaseHostname = $("input[name='row[databaseHostname]']").val().trim();
var databasePort = $("input[name='row[databasePort]']").val().trim();
var databaseName = $("input[name='row[databaseName]']").val().trim();
var databaseUsername = $("input[name='row[databaseUsername]']").val().trim();
var databasePassword = $("input[name='row[databasePassword]']").val().trim();
var data = {
"databaseHostname":databaseHostname,
"databasePort":databasePort,
"databaseName":databaseName,
"databaseUsername":databaseUsername,
"databasePassword":databasePassword
}
$.ajax({
//请求方式
type : "GET",
//请求地址
url : url,
data: data,
async:false, //一定要同步
//请求成功
success : function(result) {
var json = $.parseJSON(result);
bb=json;
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
//end 判断数据库配置是否正确
return bb;
}
调用方式
//数据库连接配置到后台校验
var json = checkDbConnect();
var status = json.status;
var info = json.info;
if(status !='200'){
alert('数据库备份-参数设置异常。'+info);
return false;
}