如何在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

回到顶部