javascript - 当请求已经发布但响应尚未到来时,如何防止刷新浏览器窗口?
问题描述
假设我有一个 HTML 表单和一个提交按钮。当我单击提交按钮时,我向服务器提交了一个发布请求以进行处理。
在服务器处理请求时如何防止刷新页面。请注意,服务器尚未返回任何响应,并且微调器仍在浏览器中旋转。这是我想禁用刷新的时间,因为当前请求仍在处理中。
我已经实现了 POST/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>