我正在开发一些待办事项应用程序,并希望使用 HTTP 方法 PATCH 来添加和删除待办事项,因为这在语义上比 PUT 更好。
在后端我使用的是 express.js (node.js) 和前端的主干.js(它使用 jQuery 进行 ajax)。
我已经尝试过它是否真的在我的本地开发套件(Archlinux、Chromium 20、node.js 0.8、express 2.X)的后端和前端工作并且它工作:
app.js
app.patch('/todo/:id', function(req, res){
console.log('patch successfull');
}
Chromium 网络控制台
$.ajax({
url: '/messages/4ff13720f00e2e2c4b000006',
type: 'PATCH',
data: { body: 'that is a patched message' }
});
提到了请求,并且在可能的情况下还提到了数据库操作,没有异常(exception)。
我现在想知道其他浏览器如何支持补丁方法。我用谷歌查了一下,但是很难找到,因为 PATCH 有多种含义...
最佳答案
大多数浏览器在应用于表单时将 HTTP 方法限制为 GET/POST。但是,对于 AJAX 请求,只要后端服务器能够支持它就可以工作的方法。
关于jquery - HTTP 补丁 XmlHttpRequest 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11288608/