我正在beforeSubmit()
函数中进行AJAX调用,如下所示:
$('#register-form').on('beforeSubmit', function(event) {
$.ajax({
url: url,
success: function(response) {
return response.status; // boolean
}
});
});
我希望AJAX成功函数(true
或false
)的结果确定beforeSubmit()
函数的返回值。
我意识到您无法在ajax成功内返回,我也知道一个可能的解决方案是在我的AJAX调用中设置async: false
,但是我知道不建议这样做,所以宁愿尝试其他解决方案。
我已尝试实现这些帖子中详细介绍的“回调”功能:
ajax return true/false - I have implemented a callback
jQuery: Return data after ajax call success
但是我似乎仍然无法正常工作。
答案 0 :(得分:0)
我已经解决了以下问题:
$('#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;
}
});
因此,beforeSubmit()
函数仅在表单不具有“ complete”类时才返回false。如果是这样,它将继续默认表单提交。