2

根据 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);

但是,如果可能的话,我想在确定对特定请求类型的支持时避免发出任何请求。

4

0 回答 0