在使用post方法傳送表單之後,通常我們在按上一頁或者重新reload該頁面的時候,瀏覽器會提示我們會重送該頁面的資料一次。經測試,發現這種情況應該是在我們將表單和submit後的動作寫在同一頁時才會發生,如果表單和和處理submit後的動作是分開成兩個檔案,瀏覽器的上一頁甚至會回到表單第一次載入前的前一頁。簡單說,就是如果表單和處理的動作分成兩個檔案寫就不會看到上述提示的狀況。
但如果堅持寫在同一個頁面又不想看到上述提示的狀況,最簡單的方式就是在處理完submit過來的資料後,用header再重新導到自己一次,這樣submit過後的頁面就算再按一次reload,也不會出現提示重送的訊息了。
另外,寫在同一頁的作法有沒有用header重導還有一個差異,就是submit之後按「上一頁」會有不一樣的結果:沒有重導的情況,submit過後的「回上頁」會呈現表單送出前的樣子,也就是有填資料的樣子;而有重導的結果,「回上頁」會回到填寫表單前的上一頁,也就是跳離表單的頁面。
這種差異可以看出瀏覽器的行為模式,有一點趣味。但除了看不到提示訊息之外,還能有什麼應用,目前想不到。