[英]node js express Whil using app.param 4 url get request doesn't work
我正在使用app.param向用戶名url中輸入一個參數,它的工作原理是,之后的任何獲取請求都不會為客戶端加載html頁面。 除了頁面加載失敗后,我沒有任何類型的錯誤,頁面上出現404錯誤。 可能是什么問題,我什至嘗試使用router.param並得到了相同的結果。 顯然,功能性要求此功能可在多個頁面上工作。
//Profile views for other users
app.param('username', function(req, res, next, username) {
User.findOne({ 'local.username' : username }, function(err, user) {
if(err)
throw err;
if(user==null)
return false;
req.person = user;
next();
});
});
app.get('/:username', function(req, res) {
Profile.findOne({ 'pic.username' : req.person.local.username }, function(err, profilepic) {
if(err) {
throw err;
}
console.log(profilepic);
res.render('pages/visitprofile', {
user : req.person,
profilepic : profilepic
});
});
});
app.get('/photos/:username', function(req, res) {
Profile.findOne({ 'pic.username' : req.person.local.username }, function(err, profilepic) {
if(err)
throw err;
res.render('pages/photos', {
profilepic : profilepic
});
});
});
app.listen(3000);
console.log('express is listening on port 3000');
使用app.get('/:username', callback)
語法時,需要查找req.params.username
。
app.get('/photos/:username', function(req, res) {
res.send(req.params.username);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.