防止頁面刷新時重新提交表單
您的表單面臨頁面刷新時重複資料提交的問題,這是可能損壞資料庫的常見情況條目。為了解決這個問題,您需要尋求解決方案,在保留當前頁面的同時防止重新提交。
一種方法是為每個使用者使用唯一的會話識別碼。此標識符可以與儲存的值進行比較,從而防止重複提交。不過,這種方法的具體實作還不能立即實現。
或者,您可以利用 JavaScript 的 window.history.replaceState 來防止刷新頁面或使用後退按鈕時重新提交。下面的 JavaScript 程式碼片段示範了這一點:
if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); }
此程式碼將當前歷史狀態替換為與目前頁面具有相同 URL 的新歷史狀態。因此,當使用者刷新或點擊後退按鈕時,不會重新提交表單。
雖然這種 JavaScript 方法具有創新性,但通常建議採用 Post/Redirect/Get (PRG) 方法。不過,這兩種方法都有效解決了頁面刷新時表單重新提交的問題。
以上是如何防止頁面刷新時重新提交表單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!