2011-09-14 61 views
-1

我一直在試圖弄清楚這一點,但還沒有遇到任何有用的答案,我的個案。如何提交表單而不顯示URL中顯示的值?

我有一個非常基本的HTML頁面,作爲我做的webapp的前端。所述頁面上有兩種形式 - 一種用於註冊帳戶,另一種用現有帳戶登錄。這個想法是,如果你註冊或登錄,你會得到實際的webapp。

目前,我有這個工作,但表單內容顯示在URL提交。這看起來不太好看(因爲webapp URL變成url.com/?username=user&password=pass而不是url.com),並且也不安全,因爲任何旁觀者都能夠清楚地看到用戶名/密碼是什麼。

我試過使用jQuery表單來提交這個使用ajax,而我成功地能夠看到和處理這個請求在我的服務器上,但是當返回一個新的HTML頁面給客戶端時,瀏覽器不再加載這個新一頁。我知道jquery/ajax(至少部分)是爲了在網頁中啓用交互功能而不必刷新整個事物,但是有什麼方法可以用它來實現這樣的事情嗎?

或者,有沒有人有任何其他的想法,我怎麼能實現我的目標?

此外,爲了確保 - 如果我想通過SSL(我最終確定)提交此內容,我只需要更改此表單提交的URL,以包含https而不是http,正確?

最佳,和感謝,
薩米

回答

2

使用post insted的的get提交表單

<fom action="post"> 

使用POST進行破壞性操作,例如創建(我知道的諷刺),編輯和刪除的,因爲你不能打一個POST操作在瀏覽器的地址欄中。如果允許某人致電某個操作是安全的,請使用GET。因此,像一個網址:

http://myblog.org/admin/posts/delete/357

應該把你帶到一個確認頁面,而不是簡單地刪除項目。以這種方式避免事故要容易得多。

POST比GET更安全,因爲您不會將信息粘貼到URL中。所以使用GET作爲收集密碼或其他敏感信息的HTML表單的方法並不是最好的主意。

最後一點:POST可以傳輸比GET更多的信息。我不記得每個的確切約束,但優點是顯着的。

0

通常,對任何有副作用的請求使用POST,例如更新數據庫或從註銷登錄到登錄。當你想要檢索一個頁面時,使用GET。

由於執行POST的方式,所有參數都不會出現在URL中。