在jquery的ajax方法中的success中使用return要注意的问题
jquery的ajax方法;在success中使用return;来结束程序的时候,结束的只是success这个方法,也就是说success中的return的作用范围只是success;
如果要想在success中使用return结束整个js函数,最好在最外面的方法体内定义一个全局的变量,var isOver = true;在success中如果满足条件就将isOver置为false
在ajax方法体外通过全局变量isOver的值来决定js函数是否return,
同时也要注意:ajax方法的async: false,一定要是false;
function mySubmit(){
// ajax 校验当前代理商是否可以发起申请
var hasPrivileage = true;
$.ajax({
url: "CommitCheckForAgent.action",
data: {agentNo:$("#agentNo").val()},
type: "post",
async: false,
success: function( result ){
if(result == "billAuditing"){
alert("该商户有正在审核的结算信息变更单,不能再次发起!");
hasPrivileage = false;
return hasPrivileage;
}
},
error: function( result ){
alert('error...');
}
});
if(!hasPrivileage){
return;
}
if($("#agentNo").val()==null || $("#agentNo").val()==""){
alert("请输入代理商编号。");
return;
}
if($("#settleAccountType").val()==null || $("#settleAccountType").val()==""){
alert("账户类型不能为空。");
return;
}
if($("#bankAccountName").val()==null || $("#bankAccountName").val()==""){
alert("银行开户名不能为空。");
return;
}
if($("#bankAccountNo").val()==null || $("#bankAccountNo").val()==""){
alert("银行帐号不能为空。");
return;
}
if($("#openBankName").val()==null || $("#openBankName").val()==""){
alert("开户行名称不能为空。");
return;
}
if($("#province").val()==null || $("#province").val()==""){
alert("开户省不能为空。");
return;
}
if($("#city").val()==null || $("#city").val()==""){
alert("开户市不能为空。");
return;
}
if($("#file1").val()==null || $("#file1").val()==""){
alert("请上传图片。");
return;
}
// var customerNo = $("#customerNo").val()
// $.ajax({
// type:"post",
// data:{customerNo:customerNo},
// url:"C005CommitCheck.action",
// success:function(msg){
// if(msg == ""){
$("#form1").submit();
// }else{
// alert(msg);
// window.location.href = window.location.href;
// }
// }
// });
}