<a rel="nofollow" data-method="delete" href="https://stackoverflow.com/users/sign_out">Sign Out</a>
閱讀一些代碼usign設計,我注意到SIGN_OUT鏈接有兩個特殊的屬性以下屬性的含義是什麼?
數據的方法=「刪除」,我想知道,如果這是在HTML5標準的屬性?
<a rel="nofollow" data-method="delete" href="https://stackoverflow.com/users/sign_out">Sign Out</a>
閱讀一些代碼usign設計,我注意到SIGN_OUT鏈接有兩個特殊的屬性以下屬性的含義是什麼?
數據的方法=「刪除」,我想知道,如果這是在HTML5標準的屬性?
它是HTML5 custom data attribute。您的代碼定義了一個名爲method
的屬性,其值爲delete
。
Code Different
是對的,該代碼是一個HTML5數據屬性。然而,它代表「method
」,這不限於HTML5 - 它只是Rails所花費的時間比GET
/POST
和appends them to the request with jquery其他方法:
它的工作原理是這樣的,當鏈接被激活,[ Rails]在文檔中用與「鏈接」的「href」值相對應的「action」屬性和與「data-method」值相對應的方法構造一個隱藏表單,並提交該表單。對於非Rails的後端
注:因爲提交表單比其他HTTP方法GET和POST沒有被廣泛跨瀏覽器的支持,所有其他的HTTP方法實際上與在「_method表示預期方式發送過來POST 「參數
HTTP使用methods
(calls them verbs
)就如何管理的後端請求開發範圍。這是HTTP的核心原理,即REST協議。
總之 - 雖然你要求的是定製的HTML5數據屬性,但底層功能存在於所有支持HTTP的前端;只是因爲標準HTML完全不支持PUT
/PATCH
/DELETE
,所以您必須將方法追加到請求中(如本例中那樣)。