我在tagid从URL:获取值方面遇到问题localhost:8888/p?tagid=1234。
帮助我更正我的控制器代码。我无法获得tagid价值。
我的代码如下:
app.js:
var express = require('express'),
  http = require('http'),
  path = require('path');
var app = express();
var controller = require('./controller')({
  app: app
});
// all environments
app.configure(function() {
  app.set('port', process.env.PORT || 8888);
  app.use(express.json());
  app.use(express.urlencoded());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
  app.set('view engine', 'jade');
  app.set('views', __dirname + '/views');
  app.use(app.router);
  app.get('/', function(req, res) {
    res.render('index');
  });
});
http.createServer(app).listen(app.get('port'), function() {
  console.log('Express server listening on port ' + app.get('port'));
});Controller/index.js:
function controller(params) {
  var app = params.app;
  //var query_string = request.query.query_string;
  app.get('/p?tagId=/', function(request, response) {
    // userId is a parameter in the url request
    response.writeHead(200); // return 200 HTTP OK status
    response.end('You are looking for tagId' + request.route.query.tagId);
  });
}
module.exports = controller;routes/index.js:
require('./controllers');
/*
 * GET home page.
 */
exports.index = function(req, res) {
  res.render('index', {
    title: 'Express'
  });
};
/p?tagid=1234,tagid称为查询字符串,而不是URL参数。URL参数为/p/:tagId。