我尝试打印路由器参数,但 req.params 是空的,不知道我做错了什么。
在 app.js 中:
...
var shareFile=require('./controllers/file/share');
...
app.use('/share/:id', shareFile);
...
和 share.js Controller :
var express = require('express');
var router = express.Router()
router.get('/', function (req, res, next) {
res.send(req.params)
});
module.exports = router;
localhost:3000/share/123
给出空的 json 页面。将 res.send
更改为 console.log
会得到 {}
。
谢谢
最佳答案
当路由定义为 req.params 将生成 /share/:id
并且您调用了 http 时,
{id: 'abc'}
://yourserver/share/abc
router.get('/', function (req, res, next) {
res.send(req.params)
});
在上面你应该预料到 req.params 在这里是空的,因为你没有预料到它们。但是你应该在这里看到它们:
router.get('/share/:id', function (req, res, next) {
res.send(req.params)
});
关于javascript - Express 中的路由参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45244442/