javascript - 在表单提交之前发送 Ajax 请求

标签 javascript html

是否可以在表单的 onsubmit() 中发送 ajax 请求?我一直在尝试,结果不稳定,主要是因为如果浏览器发送我的请求的时间恰好比发送原始表单所花费的时间长,那么一旦加载页面的位置发生变化,我的请求就会被丢弃,所以有时它从来没有打过服务器。

基本上,我想做的是添加一个收集登录事件的审核日志收集器,我想以最小的入侵将其挂接到现有应用程序。

最佳答案

这很容易实现。只需在 AJAX 请求完成后才提交表单。

让您的表单 onsubmit 属性调用 AJAX 函数并返回 false(这会取消表单提交)。当您的 AJAX 调用完成时,以编程方式提交表单。

例如:

<form name="myform" onsubmit="javascript: startAjax(); return false;">
...
<script type="text/javascript">
function startAjax() {} // Calls ajaxComplete() when finished

function ajaxComplete()
{
  document.myform.submit();
}
</script>

关于javascript - 在表单提交之前发送 Ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263526/

相关文章:

c# - Blazor 选定 Row 参数传递

javascript - 视频响应式按钮

javascript - HTML5 Canvas 中的文字换行

javascript - 当我在 C++ 附加组件中创建 ArrayBuffer 时,node-webkit 崩溃

javascript - Symfony 5 与 Pusher 私有(private)聊天

javascript - 是否可以使用 jQuery 突出显示段落标记内的特定行

javascript - 使用 for 循环在 javascript 中动态创建按钮,并分配属性。

Javascript 故障效果,文本太大,如何调整大小?

javascript - 我应该如何识别使用 Facebook 登录注册的用户?

javascript - 基于选择框的链接位置更改