如何将不受支持的XMLHttpRequest方法优雅地降级为支持的方法(例如POST)?

时间:2013-11-08 22:04:38

标签: javascript jquery ajax xmlhttprequest graceful-degradation

根据jQuery的文档$.ajax()支持“其他HTTP请求方法,例如PUT和DELETE,也可以在这里使用,但并非所有浏览器都支持它们。[1]

我想知道是否有办法检查浏览器是否支持给定的方法,例如PATCHPUTDELETE等,如果不受支持,请使用POST优雅地降级为$.ajaxPrefilter()方法?或者,从表单或AJAX调用中始终POST并使用其他上下文(例如_method或服务器支持的X-header)来表示预期的方法,而不是实际的内容使用

UPDATE:看来,测试是否支持特定请求类型的一种方法是实际发出请求,例如

var x=new XMLHttpRequest();
x.open("patch", "/");
x.send(null);

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

0 个答案:

没有答案