首页 > 解决方案 > 当请求已经发布但响应尚未到来时,如何防止刷新浏览器窗口?

问题描述

假设我有一个 HTML 表单和一个提交按钮。当我单击提交按钮时,我向服务器提交了一个发布请求以进行处理。

在服务器处理请求时如何防止刷新页面。请注意,服务器尚未返回任何响应,并且微调器仍在浏览器中旋转。这是我想禁用刷新的时间,因为当前请求仍在处理中。

我已经实现了 POST/REDIRECT/GET ,但问题是即使在服务器重定向之前,如果请求仍在处理中,那么我想禁用刷新,直到服务器重定向请求。

标签: javascripthtmlformspage-refreshpost-redirect-get

解决方案


你需要 event.preventDefault() 来防止页面刷新

<form action="#" method="post" onsubmit="return ValidationEvent()">
...
...
<script>
function ValidationEvent(event) {
event.preventDefault(); //prevent refresh of page

// your ajax api call here
}
</script>

推荐阅读