根据 jQuery 的文档$.ajax()
支持“其他 HTTP 请求方法,例如 PUT 和 DELETE,也可以在此处使用,但并非所有浏览器都[必然]支持。 ” [1]
我想知道是否有一种方法可以检查浏览器是否支持给定的方法,例如PATCH
, PUT
,DELETE
等,并在不支持的情况下优雅地降级为使用POST
方法$.ajaxPrefilter()
?或者,总是POST
从表单或 AJAX 调用并使用一些其他上下文(例如_method
,或服务器支持的 X-header)来指示预期的方法,而不是实际使用的方法是否更好?
更新:似乎测试是否支持特定请求类型的一种方法是实际发出请求,例如
var x=new XMLHttpRequest();
x.open("patch", "/");
x.send(null);
但是,如果可能的话,我想在确定对特定请求类型的支持时避免发出任何请求。