Ear*_*rlz 70 html rest http cross-browser
假设我的Web应用程序在服务器端完全支持PUT和DELETE,我应该使用它们吗?
基本上我的问题是有多少浏览器支持这个:
<form method="PUT">
Run Code Online (Sandbox Code Playgroud)
要么
<form method="DELETE">
Run Code Online (Sandbox Code Playgroud)
除了兼容REST之外,使用这两种HTTP方法有什么好处吗?(假设替换这两种方法是常用的POST)
lee*_*ggs 77
您的问题涉及两个密切相关但又分开的标准,即HTTP和HTML.PUT和DELETE方法是HTTP的一部分.在HTTP中,它们在RESTful接口以及构建在HTTP上的其他服务(如Webdav)中有明显的用途.
最高版本4的HTML仅定义了表单的POST和GET的使用.此时HTML5看起来好像可能支持其他方法.[注意,当前w3草案中不包括支持]
任何当前的浏览器支持(我都没有直接意识到)将是非常有限的,并且只是作为最前沿的实验非常有用.
BMi*_*ner 27
GET,POST,PUT和DELETE(还有其他)是HTTP标准的一部分,但您目前仅限于HTML表单中的GET和POST.
正如Andrew所说,你可以在AJAX请求中使用PUT和DELETE; 但是,这仅适用于某些浏览器(请参阅http://api.jquery.com/jQuery.ajax/).
mod*_*odu 17
截至2024 年 1 月,最新的 HTML 规范和草案默认情况下仍然不支持 GET 和 POST 以外的方法。如果您不使用方法中间件,那么您将不得不使用这两个选项。(method 属性也可以将“dialog”作为值,但它是无关紧要的,因为它与 HTTP 方法不直接相关。)
https://html.spec.whatwg.org/multipage/form-control-infrastruct.html#attr-fs-method