gpt4 book ai didi

node.js - put 在express js 中不起作用

转载 作者:行者123 更新时间:2023-12-02 03:45:31 24 4
gpt4 key购买 nike

我有 POST 和 PUT 引用相同的表单。当我单击“提交”按钮时,仅处理 POST 请求(因为 POST 和 PUT 具有相同的路由名称,这是 FORM 的操作),我该如何实现 PUT ?

//App.js

app.post('/addClassified',routes().saveClassified);  -- POST
app.put('/addClassified',routes().updateClassified); -- PUT

app.get('/newClassified',function(req,res){
res.render('newClassifieds'); //Rendering form
});

//newClassifieds.pug

// Method and action of FORM

form(method='POST' action='/addClassified')
button.btn.btn-primary(type='submit') Save

//routes.js 路由

//保存分类 -- POST

functions.saveClassified = function (req, res) {
console.log(req.body.category);
};

//PUT -- 更新分类

functions.updateClassified = function (req, res) {

};

最佳答案

您必须知道 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')

如果您还需要什么,请告诉我

关于node.js - put 在express js 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com