我对nodejs更新鲜。 如何通过删除请求获取值参数? 我正在使用node express js。 谢谢你的推荐
答案 0 :(得分:11)
您可以使用" req.body"得到你发送的价值
例如:
router.delete('/test',function(req,res){
res.send(req.body.data);
});
答案 1 :(得分:4)
您的问题有点不清楚,但我认为您在询问带有DELETE方法的HTTP请求是否可以具有与任何其他请求相同的参数。如果是这样,是的,它可以,并且以其他请求可以采用相同的方式。获取请求参数的最常用方法是在param(<name>)
对象上使用request
方法,但还有其他几种方法取决于请求的格式。查看the documentation了解详情。
答案 2 :(得分:1)
有关如何获取req.body的更多详细信息,请参阅此处的示例:
express request body。
和文档在这里:
multer npm package
要使用路由器,我在./app.js
中执行此操作var multer = require('multer');
var upload = multer();
var deldev = require('./routes/deldev');
...
app.use('/deldev', upload.array(), deldev);
...
和./routes/deldev.js:
router.delete('/', function(req, res, next) {
console.log("delete: req.body: " + JSON.stringify(req.body));
res.json(req.body);
}
// (for debug only. don't use this.)
router.all('/', function(req, res, next) {
res.send("don't do that.");
}
答案 3 :(得分:1)
DELETE有点棘手,但对于理解使用Express JS时非常关键。 这是一个简单的示例代码。
var express = require("express");
var server = express();
var backlogItems = [
{
itemId: "DEV-3345",
title: "Develop a proof of concept (PoC)"
},
{
itemId: "DEV-3346",
title: "Ponder the project's major milestones"
}
];
// the short program does not include GET and POST implementation for simplicity.
// DELETE implementation
server.delete("/project/backlog/:itemId",
function(req, res)
{
backlogItems = skierTerms.filter(function(definition)
{
return definition.itemId.toLowerCase() !== req.params.itemId.toLowerCase();
});
res.json(backlogItems); //sending the updated response back to client app.
});
server.listen(3500);
enter code here
在server.delete(..)中,itemId
是占位符变量名,它始终出现在:
之后。 backlogItem
的DELETE请求触发回调函数,并且backlogItems
资源被更新并发送回res
中的客户端。
答案 4 :(得分:0)
我的删除控制器方法......
exports.remove = (req, res, next) => {
console.log(req.params.agrgtId);
const { agr } = req.params.agrgtId;
agr.destroy();
};
其中agrgtId是来自DELETE查询的可变数据