【问题标题】:Express.js, req.params not being calledExpress.js,req.params 没有被调用
【发布时间】:2016-05-03 02:07:14
【问题描述】:

所以我绞尽脑汁想解决这个问题已经有一段时间了,但我仍然遇到问题。

所以我定义了这样的路线:

var home = require('./routes/home');
var app = express();

app.use('/home/:client', home);

而我的 home.js 代码如下所示:

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
    res.render('homeview', { title: 'Welcome',
                             user: username});
});

router.get('/:client', function(req, res, next) {
    var theClient = req.params.client;
    console.log(theClient)
});

module.exports = router;

然后当我尝试访问这个 URL 时:

http://www.localhost:3000/home/client

什么都没有发生。由于某种原因,它永远不会到达第二个 router.get 并且永远不会记录任何内容。有人注意到有什么问题吗?

【问题讨论】:

  • 如果您将app.use 更改为:app.use('/home', home),然后保持home.js 原样,会发生什么情况?

标签: express routing params


【解决方案1】:

工作解决方案@https://github.com/rmjoia/expressRoutes

app.js

var express = require('express'),
    app = express(),
    port = process.env.PORT || 3000,
    homeRouter = require('./home');

app.use('/home', homeRouter);

app.route('/')
    .all(function (request, response, next) {
        // Do some plumbing stuff
        next();
    })
    .get(function (request, response, next) {
        response.send('OK GET - Hello Stack Overflow');
        next();
    });

app.listen(port, function (error) {
    if (error) {
        console.error(error.message);
    }
    else {
        console.info('Server up and running. Listening on port ' + port);
    }
})

home.js

var express = require('express');
var homeRouter = express.Router();

var router = (function (router) {

    // define the home page route
    router.get('/', function (req, res) {
        res.send('home route - homepage');
    });
    // define the about route
    router.get('/:client', function (req, res) {
        res.send(req.params.client);
    });

    return homeRouter;
})(homeRouter);

module.exports = router;

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多