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 成功函数(true
或 false
)的结果来确定 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。如果是,它将继续默认表单提交。
我正在 beforeSubmit()
函数中进行 AJAX 调用,如下所示:
$('#register-form').on('beforeSubmit', function(event) {
$.ajax({
url: url,
success: function(response) {
return response.status; // boolean
}
});
});
我想要 AJAX 成功函数(true
或 false
)的结果来确定 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。如果是,它将继续默认表单提交。