我有POST和PUT指的是相同的FORM。当我点击提交按钮时,只有POST请求被处理(因为POST和PUT都有相同的路由名称,这是FORM的一个动作),我该如何实现PUT?
// App.js
ValidationRegister
// newClassifieds.pug
app.post('/addClassified',routes().saveClassified); -- POST
app.put('/addClassified',routes().updateClassified); -- PUT
app.get('/newClassified',function(req,res){
res.render('newClassifieds'); //Rendering form
});
// routes.js ROUTES
//保存分类 - POST
// Method and action of FORM
form(method='POST' action='/addClassified')
button.btn.btn-primary(type='submit') Save
// PUT - 更新分类
functions.saveClassified = function (req, res) {
console.log(req.body.category);
};
答案 0 :(得分:1)
您必须知道HTML5仅允许表单中的GET和POST,因此如果您必须实施PUT操作,您可以按照以下步骤操作:
如何实施PUT? 1.-安装"方法覆盖" npm包。 2.你必须在你的app.js中打电话:
`var methodOverride = require("method-override");
app.use(methodOverride("_method"))`
3.-添加' _method = PUT'在你的行动表格中:
form(method='POST' action='/addClassified/<%=thing._id%>?_method=PUT')
如果您还有其他需要,请告诉我
答案 1 :(得分:0)
1)安装方法覆盖包 npm install method-override 在index.js中需要包 \ code
var methodOverride = require("method-override");
app.use(methodOverride("_method"))
app.put("/edit",function(req,res){});
\ add _method = put形式为
<form action="/edit/?_method=PUT" method="post" >