Express中的参数路由为空
我尝试打印路由器参数,但req.params是空的,不知道我做错了什么。
在app.js中:
... var shareFile=require('./controllers/file/share'); ... app.use('/share/:id', shareFile); ...
和share.js控制器:
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
会给出{}
。
谢谢
当路由被定义为/share/:id
时,req.params会产生{id: 'abc'}
,并且你调用了http://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) });