小编典典

大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?

ajax

我在这里看到了几个问题,例如如何调试RESTful服务,其中提到:

不幸的是,同一浏览器不允许我测试HTTP PUT,DELETE,并且在某种程度上甚至无法测试HTTP POST。

我还听说其他一些来源的浏览器仅支持GET和POST:

但是,在Firefox中进行的一些快速测试表明,发送PUTDELETE请求可以正常工作-
XMLHttpRequest成功完成了请求,并且使用正确的方法将请求显示在服务器日志中。我是否缺少某些方面的信息,例如跨浏览器兼容性或非显而易见的限制?


阅读 572

收藏
2020-07-26

共1个答案

小编典典

。HTML5规范提到:

method和formmethod内容属性是具有以下关键字和状态的枚举属性:

关键字 get ,映射到状态GET,指示HTTP GET方法。GET方法应仅请求和检索数据,并且没有其他效果。

关键字 post ,映射到状态POST,指示HTTP
POST方法。POST方法要求服务器接受要处理的提交表单数据,这可能导致将项目添加到数据库,创建新的网页资源,更新现有页面或所有提及的结果。

关键字 dialog 映射到状态对话框,指示提交表单旨在关闭对话框,在该对话框中表单会自动找到(如果有),否则将不会提交。

这些属性的默认值默认为GET状态

即HTML表单仅支持 GETPOST
作为HTTP请求方法。一种解决方法是使用服务器读取的隐藏表格字段并相应地分派请求,从而通过POST隧道传输其他方法。

但是,在所有主要的Web浏览器(IE,Firefox,Safari,Chrome,Opera)中,XMLHttpRequest(即AJAX调用)的实现
支持 GETPOSTPUTDELETE 。 __

2020-07-26