Yii2 - beforeSubmit ajax return 值

Yii2 - beforeSubmit ajax return value

我正在 beforeSubmit() 函数中进行 AJAX 调用,如下所示:

$('#register-form').on('beforeSubmit', function(event) {
    $.ajax({
        url: url,
        success: function(response) {
            return response.status; // boolean
        }
    });
});

我想要 AJAX 成功函数(truefalse)的结果来确定 beforeSubmit() 函数的 return 值。

我知道你不能 return ajax 成功,我也知道一个潜在的解决方案是在我的 [=35= 中设置 async: false ] 调用,但我知道不推荐这样做,所以更愿意尝试不同的解决方案。

我已尝试实现 "callback" 功能,详见这些帖子:

ajax return true/false - I have implemented a callback

jQuery: Return data after ajax call success

但我似乎仍然无法让它工作。

我已经解决了这个问题:

$('#register-form').on('beforeSubmit', function(event) {
    var form = $(this);

    if (!form.hasClass('complete')) {
        $.ajax({
            url: url,
            success: function(response) {
                if (response.status == true) {
                    form.addClass('complete').submit();
                }
            }
        });

        return false;
    }
});

所以如果表单没有 class 'complete',beforeSubmit() 函数只会 returns false。如果是,它将继续默认表单提交。