根据jQuery的文档$.ajax()
支持“其他HTTP请求方法,例如PUT和DELETE,也可以在这里使用,但并非所有浏览器都支持它们。 “[1]
我想知道是否有办法检查浏览器是否支持给定的方法,例如PATCH
,PUT
,DELETE
等,如果不受支持,请使用POST
优雅地降级为$.ajaxPrefilter()
方法?或者,从表单或AJAX调用中始终POST
并使用其他上下文(例如_method
或服务器支持的X-header)来表示预期的方法,而不是实际的内容使用
UPDATE:看来,测试是否支持特定请求类型的一种方法是实际发出请求,例如
var x=new XMLHttpRequest();
x.open("patch", "/");
x.send(null);
但是,如果可能的话,我希望在确定对特定请求类型的支持时避免提出任何请求。