1.首先描述下ajax默认情况下是异步请求,如果要想其结果作为函数值返回,需要设置为同步;
2.如果想当然的在success回调函数中返回值,结果肯定是undefined;
因为在success 执行return操作其实就是终止当前函数的执行,并不是作为函数参数返回;
eg:
var checkFlag = false;
function add(data){
$.ajax({
type : 'post',
async : false, //设置为同步
url : 'url',
data : {"a":data},
dataType : 'json',
beforeSend : function(){
loadMask.show();
},
complete : function(){
loadMask.hide();
},
success : function(data){
if(data.resultCode == 1){
BUI.Message.Alert(data.resultMsg,'error');
checkFlag = false;
}else{
checkFlag = true;
}
},
error : function(){
alert("system exception!")
}
});
return checkFlag;
}