使用 PUT 在 Node.js 中删除
Using PUT to delete in Node.js
在node.js
中,我可以使用
app.route('/').get(getObjectList).post(postAddObject).put(putDeleteObject);
但我不知道如何在html中触发...put(putDeleteObject)
。
难道我们在html中仅限于post
和get
?我什么时候可以使用 put
?它仅适用于通过 jQuery 等方式发出的 REST 请求吗?
你平时是怎么删除对象的?我认为通过 post 请求比 get 请求更安全,但是像我在代码示例中所做的那样将它链接起来会很棒,但是,如果 html无法区分post和put。我看过一些他们使用
的例子
<form method="post">
<input type='hidden' name='_method' value='put'>
<button type='submit'>Delete</button>
</form>
但这对我不起作用。
编辑
我打算使用 DELETE
而不是 PUT
,但问题仍然存在。我不知道如何更改我的 html 以支持 DELETE
请求。
您没有将其包含在问题中,但看起来您使用的是 Express。在这种情况下,您可以使用:
var methodOverride = require('method-override')
app.use(methodOverride('_method'))
然后您就可以使用 HTML 像这样的表格:
<form method="POST" action="/your/resource?_method=DELETE">
<button type="submit">Delete</button>
</form>
在你的路由处理程序中:
app.route('/')
.get(getObjectList)
.post(postAddObject)
.put(putObject)
.delete(deleteObject);
如果你想使用:
<form method="POST">
<input type="hidden" name="_method" value="delete">
<button type="submit">Delete</button>
</form>
然后它有点复杂但仍然可能 -
有关详细信息,请参阅:
在node.js
中,我可以使用
app.route('/').get(getObjectList).post(postAddObject).put(putDeleteObject);
但我不知道如何在html中触发...put(putDeleteObject)
。
难道我们在html中仅限于post
和get
?我什么时候可以使用 put
?它仅适用于通过 jQuery 等方式发出的 REST 请求吗?
你平时是怎么删除对象的?我认为通过 post 请求比 get 请求更安全,但是像我在代码示例中所做的那样将它链接起来会很棒,但是,如果 html无法区分post和put。我看过一些他们使用
的例子<form method="post">
<input type='hidden' name='_method' value='put'>
<button type='submit'>Delete</button>
</form>
但这对我不起作用。
编辑
我打算使用 DELETE
而不是 PUT
,但问题仍然存在。我不知道如何更改我的 html 以支持 DELETE
请求。
您没有将其包含在问题中,但看起来您使用的是 Express。在这种情况下,您可以使用:
var methodOverride = require('method-override')
app.use(methodOverride('_method'))
然后您就可以使用 HTML 像这样的表格:
<form method="POST" action="/your/resource?_method=DELETE">
<button type="submit">Delete</button>
</form>
在你的路由处理程序中:
app.route('/')
.get(getObjectList)
.post(postAddObject)
.put(putObject)
.delete(deleteObject);
如果你想使用:
<form method="POST">
<input type="hidden" name="_method" value="delete">
<button type="submit">Delete</button>
</form>
然后它有点复杂但仍然可能 - 有关详细信息,请参阅: