我是nodejs的新手。 如何获取通过Delete请求传递的值参数? 我正在使用node express js。 谢谢提前。
router.delete('/test',function(req,res){
res.send(req.body.data);
});
request
对象上的param(<name>)
方法,但具体取决于请求的格式。请查看文档以获取更多信息。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
itemId
是一个占位符变量名,并且它总是出现在 :
之后。发送 DELETE 请求到 backlogItem
会触发回调函数,并更新 backlogItems
资源并通过 res
发送回客户端。了解如何获取req.body的更多细节,请参见此处的示例:
express请求正文。
以及此处的文档:
multer npm包。
要与路由器一起使用,我在./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.");
}
我的删除控制器方法...
exports.remove = (req, res, next) => {
console.log(req.params.agrgtId);
const { agr } = req.params.agrgtId;
agr.destroy();
};
其中agrgtId是来自DELETE查询的变量数据
req.body
。请注意中间件的依赖关系。 - Jonathan Lonowski