哪些浏览器不支持带有 jQ​​uery.ajax 的 HTTP DELETE? [复制]

Posted

技术标签:

【中文标题】哪些浏览器不支持带有 jQ​​uery.ajax 的 HTTP DELETE? [复制]【英文标题】:Which browsers don't support a HTTP DELETE with jQuery.ajax? [duplicate] 【发布时间】:2010-12-17 22:47:42 【问题描述】:

可能重复:Are the PUT, DELETE, HEAD, etc methods available in most web browsers?

jQuery.ajax() 的 jQuery 文档说明如下:

注意:其他HTTP请求方式,如 作为 PUT 和 DELETE,也可以使用 在这里,但他们不支持 所有浏览器。

jQuery 本身表示它支持 IE 6.0+、FF 2+、Safari 3.0+、Opera 9.0+ 和 Chrome。 那么上面哪个(如果有的话)不支持 HTTP DELETE?

【问题讨论】:

我遇到了这个问题。它发生在 IE 10 和 Firefox 中的 JQuery 1.10 中,但不是 Chrome。我使用 AJAX 托管页面的本地开发服务器没有良好的 SSL 证书,我忽略了它。它在我的托管 REST 服务的盒子上击中了另一台服务器(根本没有 SSL)。一旦我从带有表单的页面的 URL 中的 HTTPS 中删除了 S,它就适用于两种浏览器。 GET 在所有情况下都能正常工作。 【参考方案1】:

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

【讨论】:

我刚刚测试了使用 Chrome 和 XMLHttpRequest 向 ***.com 发送 PUT 和 DELETE 请求,它工作正常。我按预期返回状态 200 和响应正文。它适用于同步和异步请求。 你用 @Ivana 测试了哪个版本的 chrome?【参考方案2】:

简短的回答是:

所有最近的浏览器(甚至是旧浏览器)都支持 HTTP DELETE。

不清楚为什么 jQuery 文档中有这个注释,除非它们指的是非常旧的浏览器,例如 Netscape 1 或 IE 2。

有关信息,我在 IE6 中尝试了 ajax DELETE 请求,即使使用此浏览器也可以。如果它适用于 IE6,则可以肯定地认为它适用于任何其他浏览器。

【讨论】:

IE8,9 无法使用 DELETE/PUT 发送 ajax 见这里:***.com/questions/2456820/… 任何人都可以确认/驳斥@user2503775 关于IE8/9 的声明吗? @Yarin,它也适用于 IE8/9。我刚刚在 IE6 中尝试了一个 ajax DELETE 请求,即使使用这个浏览器也可以。 @Yarin 我在使用 jQuery 进行 IE9 DELETE 时遇到问题。 --- 看起来问题是我在添加 auth 标头时遇到问题。

以上是关于哪些浏览器不支持带有 jQ​​uery.ajax 的 HTTP DELETE? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

带有 jQ​​uery AJAX 的 JSONP 回调函数

带有 jQ​​uery Ajax 的 JWT 令牌

带有 jQ​​uery Ajax 调用的 MVC 无法正确绑定空数组/可枚举

带有 jQ​​uery 的类似狮子的滚动条?

jq 与原生js 方法互相转换

带有 jQ​​uery 动画的慢速/无响应动画