HTTP Patch XmlHttpRequest支持

时间:2012-07-02 06:19:57

标签: jquery node.js browser express

我正在研究一些todo应用程序,并希望使用HTTP方法PATCH添加和删除todo,因为这在语义上优于PUT。

在后端我使用express.js(node.js)和前端backbone.js(使用jQuery for ajax)。

我已经尝试过,如果它实际上在我的本地开发套件(Archlinux,Chromium 20,node.js 0.8,express 2.X)的后端和前端工作,并且它有效:

app.js

app.patch('/todo/:id', function(req, res){
    console.log('patch successfull');
}

铬网络控制台

$.ajax({ 
    url: '/messages/4ff13720f00e2e2c4b000006',
    type: 'PATCH',
    data: { body: 'that is a patched message' } 
});

提到了请求,并且尽可能提供了数据库操作,无例外。

我现在想知道其他浏览器如何支持补丁方法。我看了谷歌,但很难找到一些东西,因为PATCH有多重含义......

2 个答案:

答案 0 :(得分:5)

大多数浏览器在应用于表单时将HTTP方法限制为GET / POST。但是,只要后端服务器可以支持该方法,就可以使用AJAX请求。

答案 1 :(得分:2)

现代浏览器确实支持PATCH(实际上使用$ ajax,你可以做任何你喜欢的方法,只要浏览器不阻止它)。 IE9以下你运气不好。

使用FF,Chrome和Safari这不是一个问题,因为那些在几年前开始自动更新,两年多前他们停止了阻止除GET和POST之外的其他方法。