jQuery在发送表单之前通过AJAX执行操作不起作用
提交表单时,我需要通过AJAX将一些数据保存到数据库中,然后恢复表单的默认操作并将其提交给PayPal。 这样做后,数据成功保存在数据库中,但表单不会进一步提交jQuery在发送表单之前通过AJAX执行操作不起作用,jquery,ajax,preventdefault,Jquery,Ajax,Preventdefault,提交表单时,我需要通过AJAX将一些数据保存到数据库中,然后恢复表单的默认操作并将其提交给PayPal。 这样做后,数据成功保存在数据库中,但表单不会进一步提交 $('#saveBeforePay').on('submit', function(e){ e.preventDefault(); $.post('ajax/save-cart', $(this).serialize()) .done(function(response){ if ( respon
$('#saveBeforePay').on('submit', function(e){
e.preventDefault();
$.post('ajax/save-cart', $(this).serialize())
.done(function(response){
if ( response == 200 ) {
return true;
}
});
});
我试过的另一种方法是
$('#saveBeforePay').on('submit', function(e){
$.post('ajax/save-cart', $(this).serialize())
.done(function(response){
if ( response != 200 ) {
e.preventDefault();
}
});
});
现在表单将提交,但数据不会保存到数据库中。我从“网络”选项卡获取此信息
请求标题警告:显示临时标题
而状态文本
为已取消
这里怎么了
编辑:工作代码
$('#saveOrder').on('click', function(e){
e.preventDefault();
var token = $('.token').val();
$.post('ajax/save-cart', {token: token})
.done(function(response){
if ( response == 200 ) {
$('#saveBeforePay').submit();
}
});
});
我通常在表单中使用锚定标记,并将初始事件绑定到锚定标记上,而不是将表单绑定到Submit上
$('a#submit').on('click', function () {
$.post('foo', {}).done(function () {
$(this).closest('form').trigger('submit');
});
});
这样,您就不会阻止正常的表单执行,因此您可以在需要时调用submit事件。没问题,很乐意提供帮助。记住将此标记为答案;)是的,当然,只需要等5分钟