关于ajax 作为函数返回值的问题

来源:互联网 发布:win7办公软件下载 编辑:程序博客网 时间:2024/05/22 06:30

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;    }

0 0