javascript - jQuery AJAX 回调

标签 javascript jquery

我很难尝试让这个 javascript 函数在 .post() 函数内部返回 false。

这可能吗?或者是否有另一种方法可以进行简单的 ajax 检查以验证凭证代码是否在数据库中。

function check_options(){       
        var voucher_code = $('#voucher_code').val();
        $.post(baseURL+"ajax.php", { tool: "vouchers", action: "check_voucher", voucher_code: voucher_code },
            function(data) {
            if(data == 'invalid'){
                // NEED TO RETURN FALSE FOR THE MAIN FUNCTION
            }
        });

}

最佳答案

您不能为 main 函数返回 false,因为它在 ajax 调用完成时已经处理完毕。您需要使用回调。

function check_options(callback) {
    var voucher_code = $('#voucher_code').val();
    $.post(baseURL + "ajax.php", {
        tool: "vouchers",
        action: "check_voucher",
        voucher_code: voucher_code
    }, function(data) {
        if (data == 'invalid') {
            callback && callback(false);
        } else {
            callback && callback(true);
        }
    });

}

check_options(function(result) {
    // Handle True/False based on result
});

关于javascript - jQuery AJAX 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6205599/

相关文章:

javascript - 如何检查 textarea 与 CKEDITOR?

javascript - Chrome 默认弹窗 如何使用?

javascript - 按钮移动相机 THREE.js

jquery - 如何将样式应用于 Angular js中选择下拉列表的选项元素?

javascript - ie8 设置样式时找不到成员

javascript - 正则表达式匹配范围但不匹配某些字符

javascript - 如何在 javascript/jquery 中获取 HTML 元素的属性

javascript - 如何在不执行 JS 文件的情况下执行 Jquery.get?

javascript - 在 JavaScript 中正确包装函数

jquery - 如何删除带有特定文本的 h2 div