您可以从Javascript发出HTTP补丁请求吗?

您可以从Javascript发出HTTP补丁请求吗?,javascript,http,Javascript,Http,我正在使用一个API,它要求我将HTTP补丁请求作为URI的一部分,这是否可以通过Javascript实现,我的研究表明我只能执行POST、GET、DELETE和PUT。允许打补丁吗 谢谢,我不知道你所说的“补丁”请求到底是什么意思,但这似乎是可能的(至少在Firefox 6和Chromium 12中是如此)。根据,只有跟踪和跟踪请求的限制 快速测试用例: <!-- test.html --> <script> var x=new XMLHttpRequest(); x.

我正在使用一个API,它要求我将HTTP补丁请求作为URI的一部分,这是否可以通过Javascript实现,我的研究表明我只能执行POST、GET、DELETE和PUT。允许打补丁吗


谢谢,

我不知道你所说的“补丁”请求到底是什么意思,但这似乎是可能的(至少在Firefox 6和Chromium 12中是如此)。根据,只有
跟踪
跟踪
请求的限制

快速测试用例:

<!-- test.html -->
<script>
var x=new XMLHttpRequest();
x.open("patch", "/");
x.send(null);
</script>

因此,只要服务器支持该方法,请求就会通过。

根据一些研究,
补丁
方法似乎是新的(2010年3月),因此,如果您尝试在XMLHttpRequest上定义
补丁
,它可能会起作用,但只适用于最新版本的现代浏览器。尚未找到受支持的浏览器列表。

大多数浏览器将HTTP方法限制为POST/GET,对其他浏览器的支持是不完整的,例如IE9确实删除了,但我没有在每个浏览器中都看到它。为了获得最佳结果,请重新表述有关浏览器支持HTTP方法的问题。浏览器对POST/GET的限制适用于HTML表单提交,而不是XmlHttpRequest。不正确。浏览器不需要“知道”一个方法就可以在XmlHttpRequest中支持它。@JulianReschke IE8中的XHR(不是activeX风格)的实现不支持补丁方法。True。有一些传统浏览器可能在“扩展”方法方面存在问题;微软在IE8或IE9中修复了这个问题。在较旧的IE中,您可以退回到没有该限制的XHR ActiveX对象。
$ ls
test.html
$ python -m SimpleHTTPServer
localhost - - [21/Sep/2011 17:32:11] "GET /test.html HTTP/1.1" 200 -
localhost - - [21/Sep/2011 17:32:11] code 501, message Unsupported method ('patch')
localhost - - [21/Sep/2011 17:32:11] "patch / HTTP/1.1" 501 -