我正在研究一些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有多重含义......
答案 0 :(得分:5)
大多数浏览器在应用于表单时将HTTP方法限制为GET / POST。但是,只要后端服务器可以支持该方法,就可以使用AJAX请求。
答案 1 :(得分:2)
现代浏览器确实支持PATCH(实际上使用$ ajax,你可以做任何你喜欢的方法,只要浏览器不阻止它)。 IE9以下你运气不好。
使用FF,Chrome和Safari这不是一个问题,因为那些在几年前开始自动更新,两年多前他们停止了阻止除GET和POST之外的其他方法。