todo:前端ajax 调用后台的一个校验结果的一个例子

发布于 2024-11-13 19:14:18

前端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;
}
0 条评论

发布
问题