2011-07-09 18 views
1

爲什麼method = PUT已從HTML5中的表單元素中刪除?我見過的大多數RESTful實現都使用PUT來對一段數據進行更新,但現在看起來HTML5強制使用POST。爲什麼method = PUT已從HTML5中的表單元素中移除?

我知道我們可以使用AJAX來放置一些數據,但是如果我們可以使用FORM來做同樣的事情,爲什麼不呢?

回答

4

這是removed last September根據bug 10671。那個錯誤現在已經重新打開,歡迎您對這個錯誤發表評論,並提倡恢復它。

+0

謝謝薩姆,在那裏有所有的解釋,它更有意義。就我個人而言,我希望看到他們把規範,但以某種方式指定重定向。 –

2

從來沒有一個method="PUT"在HTML4規範中詳細說明,它沒有被添加到我知道的HTML 5規範。 [Source]

+0

啊,我在http://www.w3.org/TR/2010/WD-html5-diff-20101019/上看到「5.1。自2010年6月24日以來的變化」,標註爲「HTML5與HTML4的區別」並假定它是在HTML4中,然後發現它從來沒有。 –

1

PUT和DELETE方法在邏輯上應該不會導致返回給瀏覽器的頁面(僅僅是一個狀態響應),所以發送表單並沒有用處。

如果服務器返回一個頁面作爲對PUT或DELETE事件的響應,它不會遵循這些方法的原則,所以它可能只是使用GET或POST而已。

+0

除了REST API應該對這些方法做出不同的反應。一個get返回一個列表或單個項目。一篇文章創建一個項目。一個放更新一個項目。刪除刪除項目。如果表單不支持用於更新和移除項目的方法,那就有點問題。 –

+0

@lo_fye:您不應該使用表單來調用API。這會讓用戶留下空白頁面或無用的響應而不是頁面。 – Guffa

+0

表單發佈到您自己的代碼,然後與API進行交互。具有指定用於聯繫API的方法的表單很方便。添加邏輯來處理這不是一個問題,這只是我們之前沒有的另一個步驟。 –

相關問題