我在这里看到了几个问题,例如如何调试RESTful服务,其中提到:
不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST。
我还听说其他一些来源的浏览器仅支持GET和POST:
但是,在Firefox中进行的一些快速测试表明,发送PUT和DELETE请求可以正常工作- XMLHttpRequest成功完成了请求,并且使用正确的方法将请求显示在服务器日志中。我是否缺少某些方面的信息,例如跨浏览器兼容性或非显而易见的限制?
PUT
DELETE
XMLHttpRequest
否。HTML5规范提到:
method和formmethod内容属性是具有以下关键字和状态的枚举属性: 关键字 get ,映射到状态GET,指示HTTP GET方法。GET方法应仅请求和检索数据,并且没有其他效果。 关键字 post ,映射到状态POST,指示HTTP POST方法。POST方法要求服务器接受要处理的提交表单数据,这可能导致将项目添加到数据库,创建新的网页资源,更新现有页面或所有提及的结果。 关键字 dialog 映射到状态对话框,指示提交表单旨在关闭对话框,在该对话框中表单会自动找到(如果有),否则将不会提交。 这些属性的默认值默认为GET状态
method和formmethod内容属性是具有以下关键字和状态的枚举属性:
关键字 get ,映射到状态GET,指示HTTP GET方法。GET方法应仅请求和检索数据,并且没有其他效果。
关键字 post ,映射到状态POST,指示HTTP POST方法。POST方法要求服务器接受要处理的提交表单数据,这可能导致将项目添加到数据库,创建新的网页资源,更新现有页面或所有提及的结果。
关键字 dialog 映射到状态对话框,指示提交表单旨在关闭对话框,在该对话框中表单会自动找到(如果有),否则将不会提交。
这些属性的默认值默认为GET状态
即HTML表单仅支持 GET 和 POST 作为HTTP请求方法。一种解决方法是使用服务器读取的隐藏表格字段并相应地分派请求,从而通过POST隧道传输其他方法。
但是,在所有主要的Web浏览器(IE,Firefox,Safari,Chrome,Opera)中,XMLHttpRequest(即AJAX调用)的实现 都 支持 GET , POST , PUT 和 DELETE 。 __