jQuery Ajax 返回值

来源:互联网 发布:wingware python ide 编辑:程序博客网 时间:2024/05/21 11:36

诸所周知的,Ajax返回值是在匿名函数里处理的,且因jQuery 中$.post,$.get默认是异步处理,因此导致无法获取返回值问题,接收到的返回值往往是undefined,一般比较有效的处理方法是设置全局变量接收返回值。

时间关系,草草一例,以示用法:

function checkPwd(username, pwd) {    if (!pwd) {        alert("密码不能为空");        return false;    }    var result; // 定义变量接收返回值    $.ajax({        url: "/home/login/checkPwd",        async: false,//改为同步方式        type: "POST",        cache: false,        data: {username: username, passwd: pwd},        dataType: "json",        success: function (data) {            result = data; // 接收返回值        }    });    if (result.status == 'error') {        alert(result.msg);        return false; // 返回给调用函数    }}/** * 验证表单 * @param form * @returns {boolean} */function login(form) {    with (form) {        // 上面代码在ajax之外设返回值false,这里才可以拿到,否则是undefined        if ( checkPwd(user.value, pwd.value)== false ) {            return false;        }    }}