1. 程式人生 > >jQuery Ajax 返回值

jQuery Ajax 返回值

諸所周知的,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; } } }