我想弄清楚爲什麼HTML5啓用的網站中的put/delete方法不適用於Chrome。從我搜索的內容來看,這聽起來像是Chrome已經工作了一段時間了,所以說我只是尋找一些指針來縮小我的問題。也許我正在實施錯誤的形式,或許我的文檔類型錯了,誰知道。任何幫助表示讚賞:)HTML5 PUT/DELETE方法在Chrome中不起作用?
所以,代碼如下:
<!DOCTYPE html>
<html>
<head>
<title>
some_resource
</title>
</head>
<body>
<div class="content">
<form method="put" action="/some_resource">
<div>
<input id="title" name="title" placeholder="The Resource Title" type="text" value="" autofocus />
</div>
<div>
<textarea id="body" name="body" placeholder="The Resource Body" required></textarea>
</div>
<div>
<input id="submit" name="submit" type="submit" value="Submit" />
</div>
<!-- Resource Settings -->
<ul>
<li>
<input id="listed" name="listed" type="checkbox" value="y" />
</li>
<li>
<input id="template" name="template" type="text" value="resource.html" />
</li>
</ul>
</form>
</div>
</body>
</html>
只是一個形式,一個基本的測試。現在我已經在最新的Ubuntu Firefox(3.6.7),Opera(10.60內部版)以及谷歌最新的Linux Chrome Beta(5.0.375.99測試版)上嘗試過它。當我提交表單時,他們似乎都沒有將正確的put方法發送到服務器。現在,我相信(不是來自任何具體的研究)Firefox尚未支持這一點,並且像很多HTML5一樣,它計劃在下一版FF中使用。歌劇我不知道,但我經常聽說與Chrome保持同步。所以..是啊,我有點困惑。
提交表單時,他們轉到網址:http://localhost:8080/some_resource?title=t&body=b&submit=Submit&template=resource.html
。請注意,正如預期的那樣,POST工作得很好。
現在有沒有人有任何指針讓put方法工作?這可能是測試版的Linux只是沒有更新到Windows品種(東西我假設,是人們談論當我看到PUT工作的Chrome),但我真的希望它是我執行的問題。
服務器是否必須支持PUT/DELETE? (目前我正在使用AppEngine Dev Server)。我不知道..希望有人有一些想法:)
感謝任何答覆, 李
注:其它HTML5功能我測試過的迄今爲止的工作。例如,在這種形式下,您可以看到自動對焦和所需的屬性。這些在Chrome中按照預期工作。
編輯1:只是爲了澄清,我明白對這些的支持是粗略的。正如我早些時候回答的答案,我不關心其他瀏覽器的當前支持。目前Chrome是我想要工作的,我希望Firefox能夠在即將發佈的版本中工作(我不知道,我只聽到他們推着HTML5很多),我不知道Opera。
所有這些都只是爲了測試和學習HTML5(Web Workers,localStorage等)和CSS3的新奇妙世界。我只關心流血的邊緣瀏覽器,它們與流血的邊緣技術相匹配:)
'PUT'和'DELETE'與HTML5無關;它們在HTTP/1.1規範中定義。客戶端(發送)和服務器(處理)端都必須提供支持。 – You 2010-07-31 16:50:59
是的,並且允許使用HTML5,這讓我非常興奮。問題是......爲什麼它不工作:/。地獄,有人說目前支持大量的屬性,但我似乎甚至不能得到PUT/DELETE的工作。 Argh – 2010-07-31 22:52:26
有一份草案可以正式獲得這些動詞的支持。我不知道爲什麼花了這麼長時間,因爲PUT/DELETE已經成爲HTTP的一部分。有關更多信息,請參閱http://amundsen.com/examples/put-delete-forms/。在接受草稿之前,瀏覽器根本不會發送除GET和POST之外的其他內容。 – 2011-08-17 21:35:09