哪些浏览器不支持使用jQuery.ajax发送HTTP DELETE请求?

44
可能重复:PUT、DELETE、HEAD等方法在大多数Web浏览器中都可用吗? jQuery的文档jQuery.ajax()说:
请注意:其他HTTP请求方法,如PUT和DELETE,也可以在此处使用,但并非所有浏览器都支持。
jQuery本身表示支持IE 6.0+,FF 2+,Safari 3.0+,Opera 9.0+和Chrome。那么上述浏览器中哪些(如果有)不支持HTTP DELETE?

我曾经遇到这个问题。它发生在JQuery 1.10中的IE 10和Firefox浏览器中,但在Chrome浏览器中没有出现。我的本地开发服务器托管了带有AJAX的页面,但其SSL证书不太好,我忽略了它。它正在访问我的另一台托管REST服务的服务器(根本没有SSL)。一旦我从表单页面的URL中删除了HTTPS中的“S”,它就可以在两种浏览器中正常工作了。GET在所有情况下都正常工作。 - Ed Pike
2个回答

25

简短的回答是:

所有现代浏览器(包括旧版)都支持HTTP DELETE。

不清楚为什么jQuery文档中会有这样的注释,除非他们在指旧版浏览器,比如Netscape 1或IE 2。

作为参考,我已经在IE6中尝试了一个ajax DELETE请求,即使使用这个浏览器也可以正常工作。如果它可以在IE6上工作,那么可以安全地假设它可以在任何其他浏览器上运行。


5
IE8和IE9无法使用DELETE/PUT方法发送Ajax请求。 - user2503775
1
请参见此处:https://dev59.com/BnE95IYBdhLWcg3wGqEH - user2503775
有人能否证实/反驳@user2503775关于IE8/9的说法? - Yarin
2
@Yarin,它也适用于IE8/9。我刚刚在IE6中尝试了一个ajax DELETE请求,即使在这个浏览器中,它也可以工作。 - laurent
@Yarin,我在使用jQuery时遇到了IE9 DELETE的问题。看起来问题是我无法添加身份验证标头。 - Peter Ajtai

-10

Chrome。我在我的项目中同时使用PUT和DELETE,在Firefox和Safari中一切正常,但是Chrome执行错误回调。


4
我刚刚测试了使用Chrome和XMLHttpRequest发送PUT和DELETE请求到stackoverflow.com,并且工作正常。我收到了状态码200和预期的响应体。同步和异步请求都可以工作。 - cwick
你在哪个版本的Chrome上测试过这个,Ivana? - Shripad Krishna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接