2012-11-26 97 views
1

我知道,無論何時提交表單,您都將刷新頁面。但有沒有一種使用JavaScript或任何其他方式,允許網頁在輸入提交按鈕後再刷新一次?提交後額外刷新

非常感謝你們。

+1

你爲什麼要這樣做?這聽起來有點特別,你可以讓你的提交朝着你的控制器中的一個新動作轉發到你想要的視圖。 – marko

+0

好吧,恩,因爲我現在面臨的是我的編輯頁面。按下UPDATE按鈕的提交按鈕後。頁面刷新和顯示的值在更新之前。但是,當我再次刷新一次時,會顯示更新後的值。這就是爲什麼我想在按下提交按鈕後進行額外刷新。 – user1681961

+0

對不起,但它聽起來像你有更大的問題迫在眉睫。我建議你稍微調整你的程序(就像我在下面建議的那樣),你會看到這種問題消失了。 以生成的控制器爲例。 –

回答

2

我在猜測你需要實現的是Post,Redirect,Get模式,這是Grails應用程序推薦的方式。如果你輸入grails generate-controller [somedomainclassname],你會看到那個控制器實際上使用了這個模式。

其工作原理如下:

  1. 你的形式提交到控制器內的動作,我們稱之爲save()
  2. save()行動,那麼執行必要的操作,以實際保存對象,當它完成,它發出的瀏覽器中的「重定向」,就像這樣:redirect(action: "show", id: mySavedObject.id)
  3. 這將導致瀏覽器發出的URL/myController的/顯示/ {ID}一個GET
  4. 即請求由回升您的控制器的動作。然後它繼續顯示剛剛創建的對象。

這種方法可以很好地處理HTTP語義,避免了最終用戶煩惱的「你想重新發布你的表單數據」問題。

+0

感謝您的回答!我做了一個貼子操作,但是我需要的是POST操作之後的EXTRA刷新。 – user1681961

+0

@ user1681961只是做漢斯寫的,應該照顧你的問題! – marko