防止頁面刷新時重新提交表單
當使用者提交表單時,防止頁面刷新時再次提交資料非常重要神清氣爽。這可以確保資料完整性和使用者體驗。
一個有效的方法是利用 JavaScript 函數 window.history.replaceState()。此函數使用新的 URL 和狀態物件更新當前歷史記錄條目,允許我們用其自身取代當前 URL。因此,當使用者刷新頁面時,他們會停留在同一頁上,而不是重新提交表單。
實作:
將以下JavaScript 程式碼新增至您的page:
<script> if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); } </script>
當頁面載入時,此腳本檢查是否瀏覽器支援window.history.replaceState() 函數。如果是,它會使用相同的 URL 更新當前歷史記錄條目,從而有效防止刷新時重新提交。
注意:
雖然這種JavaScript 方法可能很有效,但它是建議使用Post/Redirect/Get (PRG) 等伺服器端方法來確保所有場景下的資料完整性。然而,這個解決方案提供了一種使用 JavaScript 的新穎替代方案。
以上是JavaScript 如何防止頁面刷新時重新提交表單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!