Jack
Jack

Reputation: 15872

How can I use a slug with Express and Node.js?

How can I go from: http://url:port/user?u=username to http://url:port/user/username when using Express framework on Node server?

Current JavaScript server side code:

  app.get('/user', function(req, res){
    var username = req.param("u");    
    users.findOne({username : username}, function(err, result){      
      var user = {
        username : result.username,
        name : result.name,
        surname : result.surname,
        email : result.email     
      }

      res.render('user',
        {user : user}
      );
    })
  })

Upvotes: 3

Views: 6557

Answers (1)

alessioalex
alessioalex

Reputation: 63683

You don't need a slug for that, you only need to specify a route like the following:

app.get('/user/:username', function(req, res){
  var username = req.params.username;    
  users.findOne({username : username}, function(err, result){      
    var user = {
      username : result.username,
      name : result.name,
      surname : result.surname,
      email : result.email     
    }

    res.render('user',
      {user : user}
    );
  })
})

Upvotes: 10

Related Questions