lbs0912
lbs0912

Reputation: 331

Node Express - "req.params.name" is undefined

In my project which is based on Express and Node, when I visit http://localhost:3000/users/lbs, req.params.name" should be equal to 'lbs',but it is undefined.

//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;

Upvotes: 2

Views: 4329

Answers (2)

Try this solution :

//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;

Upvotes: 2

Jeff Breadner
Jeff Breadner

Reputation: 1448

I think you should change it to:

//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;

Upvotes: 5

Related Questions