Node Express – “req.params.name”未定义

在我的基于Express和Node的项目中,当我访问http://localhost:3000/users/lbs ,req.params.name应该等于'lbs',但是它是未定义的。

 //app.js app.use("/users/:name",username); //username.js var express = require('express'); var router = express.Router(); router.get('/', function(req, res) { res.send('user: ' + req.params.name); }); module.exports = router; 

我认为你应该改变它:

 //app.js app.use("/users",username); //username.js var express = require('express'); var router = express.Router(); router.get('/:name', function(req, res) { res.send('user: ' + req.params.name); }); module.exports = router; 

试试这个解决scheme

 //app.js app.use("/users",username); //username.js var express = require('express'); var router = express.Router(); router.get('/:name', function(req, res) { res.send('user: ' + req.param('name')); }); module.exports = router;