如何在AJAX调用后继续提交表单?

如何在AJAX调用后继续提交表单?,第1张

如何在AJAX调用后继续提交表单

简短的答案:您不能-不是这种方式。

一些背景:作为函数的参数提供的回调

$.post
是异步执行的。这意味着您将
return proceed
执行成功回调 之前
执行,并且
proceed
始终为
false
。有了您的断点,如果等到成功的回调已经执行,
proceed
true
和一切都会好的。

因此,如果要在ajax请求完成后提交表单,则 必须 使用javascript提交。使用jQuery非常简单,只需

$.post
使用
data:$("yourForm").serialize()
和即可完成jQuery
url: yourForm.action

基本上,这就是您已经在做的事情,您只需要对实际要将数据发布到的URL重复该调用即可。

编辑:

另一种方法是在表单上设置一个属性,例如

valid
,然后在
submit
处理程序中检查以下内容:

jQuery("#post").submit(function() {    if($(this).data("valid")) {        return true;    }    // Rest of your pre});

在验证ajax请求的成功回调中,您将设置/清除该属性,然后提交:

$("#post").data("valid", true).submit();

编辑:

$.post
出于上述相同的原因,您还希望在回调内部启用“ ajax加载” /按钮,因为它是直接在ajax调用返回之前发生的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存