试图在 express js 中获取 URl 参数,但得到的是空对象。
var password= require('./routes/password');
app.use('/reset/:token',password);
密码.js
router.get('/', function(req, res, next) {
console.log(req.params);
res.send(req.params);
});
console.log(req.params)
输出为 {}
访问地址:http://localhost:3000/reset/CiVv6U9HUPlES3i0eUsNwK9zb7xVZpfHsQNuzMNWqLlGA4NJKoagwbcyiUZ8
最佳答案
默认情况下,嵌套路由器不会从其父路由器传递挂载路径中使用的任何参数。
在你的例子中,app
是父路由器,它使用 /reset/:token
作为挂载路径,而 router
是嵌套的路由器。
如果你想让router
能够访问req.params.token
,按如下方式创建:
let router = express.Router({ mergeParams : true });
已记录 here .
关于javascript - Express js 4x :req. 参数返回空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43269758/