2012-01-14 42 views
0

我有這個流程但不知道如何處理它。我認爲「前進」按鈕應該使用GET,因爲它是安全和冪等的,但textarea包含大量的文本,所以我認爲不能放在URI中。我改爲POST。凌亂的路由 - GET或POST

確認按鈕確認後,確定POST POST。 流程說當點擊confirmCreateAlbum上的「取消」時,它會返回到名稱相冊,並填充字段進行編輯。我將OK按鈕放在action =「confirmCreateAlbum」的表單中。問題是如何返回到名稱相冊?

注意:如果未提供必填字段,nameAlbum將顯示錯誤。

enter image description here

+1

我遵循規則:當你想要URL是唯一的(如搜索框)使用'GET'。對所有其他人使用'POST' – footy 2012-01-14 11:32:05

回答

1

儘管RFC中的GET請求沒有特定的長度限制,但瀏覽器對URI長度施加了限制。有些服務器實現也有一些考慮。

你說textarea「包含大量的文本」,所以建議在這種情況下使用POST,因爲它不會受到URI限制。

回到原來的問題,「問題是如何返回到名稱相冊?」

在您的confirmCreateAlbum表單中,實際上可以使用兩個單獨的表單。行爲調用指定腳本進行確認的「確定」表單,以及「取消」表單,該表單具有調用您的名稱相冊表單的操作。

花葯選項變得聰明,隱藏的輸入字段和傳遞數據,但可以變得混亂。個人而言,如果它是由我決定的,我會使用jQuery/Javascript來確認表單提交。這是一個簡單的客戶端解決方案,如果按下「取消」,則不需要您保留原始表單。但這只是我...

+0

感謝您的諮詢。我爲「確定」和「取消」做了兩個表單,所以隱藏的輸入翻倍。的xD – Emerald214 2012-01-14 13:05:10

1

我不認爲職位或得到的是這裏的問題。

您可以創建兩種形式:一種與ok按鈕,post /進一步操作;一個與取消按鈕,後/獲取名稱相冊。
或者您可以創建一個具有相同名稱和兩個不同值的兩個按鈕的窗體併發布/獲取某個頁面。在該頁面上,您檢查值並重定向到下一步或名稱相冊。

發佈到confirmCreateAlbum之後,您將從哪裏存儲textarea的數據?
我假設你將它存儲在會話中,所以在nameAlbum中你可以填充數據(如果有的話)到現場。

如果你可以使用JavaScript,你可以處理下一個,用一些JavaScript取消按鈕,並避免一些往返。

+0

我不會在Session中存儲任何內容,因爲它不是很好的編程習慣。如果我使用Session,這個問題很容易。 – Emerald214 2012-01-14 11:55:04