如何在Express中获取URL参数?
我在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'
});
};
回答:
要获取URL参数的值,请使用req.params
app.get('/p/:tagId', function(req, res) { res.send("tagId is set to " + req.params.tagId);
});
// GET /p/5
// tagId is set to 5
如果要获取查询参数?tagId=5
,请使用req.query
app.get('/p', function(req, res) { res.send("tagId is set to " + req.query.tagId);
});
// GET /p?tagId=5
// tagId is set to 5
URL参数
app.get('/p/:tagId', function(req, res) { res.send("tagId is set to " + req.param("tagId"));
});
// GET /p/5
// tagId is set to 5
查询参数
app.get('/p', function(req, res) { res.send("tagId is set to " + req.query("tagId"));
});
// GET /p?tagId=5
// tagId is set to 5
以上是 如何在Express中获取URL参数? 的全部内容, 来源链接: utcz.com/qa/410643.html