2011-12-20 113 views
3

在節點服務器上使用Express框架時,如何從:http://url:port/user?u=username改爲http://url:port/user/username如何在Express和Node.js中使用slug?

當前的JavaScript服務器端代碼:

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} 
    ); 
    }) 
    }) 

回答

9

你並不需要一個蛞蝓,你只需要指定像下面這樣的路線:

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} 
    ); 
    }) 
}) 
+0

了'VAR user'分配看起來對我來說很浪費,只需將結果變量重命名爲「user」,並將其傳遞給res.render,如果err未定義。 – rdrey 2012-03-17 21:43:05

相關問題