jQuery AJAX在现代浏览器中是否支持PUT和DELETE方法?

13
jQuery AJAX 调用 拥有一个 `type` 参数,可以指定异步调用的方法 (`GET`/`POST`/`PUT`/`DELETE`);文档说明如下:

要发起的请求类型 ("POST" 或 "GET"),默认为 "GET"。注意:其他 HTTP 请求方法(如 PUT 和 DELETE)也可以在此使用,但并不被所有浏览器支持。

这对于现代浏览器意味着什么?我能信任 jQuery AJAX 发出完全符合 RESTful 的调用吗,它依赖于 `PUT` 和 `DELETE` 动词?
2个回答

13

抢先一步了!我也正要链接到那里呢! - James
2
他们的文档中指出:“要发出的请求类型(“POST”或“GET”),默认为“GET”。注意:其他HTTP请求方法,如PUT和DELETE,在此也可以使用,但并非所有浏览器都支持。” -- 在 http://api.jquery.com/jQuery.ajax/ 中的'type'下。 - Kristian

10

我知道这是一个老问题,但在搜索浏览器HTTP方法支持时,我一直来到这里。我从未找到过确切地说哪个浏览器支持哪个调用的信息。提供的链接也不清楚。

由于jQuery手册中的那句话(它们不被所有浏览器支持),我一直避开使用PUTDELETE,尝试限制自己使用GETPOST。然而,今天我决定在一个REST API中为IE 6运行一些测试,我没有任何问题使用DELETE

如果它在IE6中可以工作,这种2001年的落后技术,它很可能会在任何地方都能工作,那么jQuery手册中的那句话几乎是过时的。

我将在未来进行进一步的测试并更新此帖子。如果有人知道不支持PUTDELETE的ajax调用的浏览器,请告诉我。


嗨,我已经搜索了更多关于这个的信息,我知道DELETE是安全的,你有PUT的任何经验吗? - keisar
@inf3rno,有更新吗?我正在使用IE9和jquery 2.0.3...同时对于DELETE和PUT都不起作用。 - user2503775
我不知道,我现在正在开发IE10+(因为它支持CORS)。 - inf3rno
根据所有的说法,PUT/DELETE在IE8/9上确实可以工作。据我所知,IE8唯一缺乏本地支持的HTTP方法是PATCH。(请参见此处)。 - Yarin

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