簡體   English   中英

節點js表達雖然使用app.param 4 url​​ get請求不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM