【发布时间】:2012-07-02 13:38:29
【问题描述】:
我正在开发一些待办事项应用程序,并希望使用 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' }
});
提到了请求,并且在可能的情况下还提到了数据库操作,没有例外。
我现在想知道其他浏览器如何支持补丁方法。我用谷歌查了一下,但是很难找到,因为 PATCH 有多种含义...
【问题讨论】:
-
“多重含义”包括“浏览器补丁”、“眼罩”和“盗版补丁”。第一个是最常弹出的结果。
:P -
这没有回答你的问题,但是如果你
useexpress.methodOverride()中间件,你可以发送一个名为_method的参数和你的POST请求,Express 会将它路由到参数中的方法(例如_method=patch将执行app.patch)。 -
嗨,我知道,这是在没有 Javascript 的情况下发送 PUT 和 POST 的唯一常用方法。我刚刚在 stackoverflow 中读到 XmlHttpRequests 独立于 http 方法补丁,但我对此不确定
标签: jquery node.js browser express