Estoy frente a un problema en conseguir el valor de tagidde mi URL: localhost:8888/p?tagid=1234.
Ayúdame a corregir mi código de controlador. No puedo obtener el tagidvalor.
Mi código es el siguiente:
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'
});
};
javascript
node.js
express
url-parameters
query-parameters
usuario2834795
fuente
fuente

/p?tagid=1234tagid se llama una cadena de consulta , no un parámetro de URL. Un parámetro de URL sería/p/:tagId.Respuestas:
Express 4.x
Para obtener el valor de un parámetro de URL, use req.params
Si desea obtener un parámetro de consulta
?tagId=5, use req.queryExpress 3.x
Parámetro de URL
Parámetro de consulta
fuente
express-3.4.4y funciona bien./p/5si está usando la solución superior, o/p?tagId=5si está usando la solución inferior.req.param()está en desuso :Use either req.params, req.body or req.query, as applicable.para el uso de "parámetros" de ruta con nombre (por ejemplo/p/:tagId)req.params. Para cadenas de consulta (p . Ej./p?tagId=5) Usereq.query.Puedes hacer algo como
req.param('tagId')fuente
req.queryyreq.paramses cosas tan diferentes, el reemplazo de noreq.param('x')esreq.params.xreq.query.Si desea obtener el valor del parámetro de consulta en la URL, siga las siguientes piezas de código
Si desea obtener el parámetro URL utilizando la función Express param
Exprese la función param para obtener un parámetro específico. Esto se considera middleware y se ejecutará antes de que se llame a la ruta.
Esto se puede usar para validaciones o para obtener información importante sobre el artículo.
Un ejemplo de esto sería:
fuente
Esto funcionará si su ruta se ve así:
localhost:8888/p?tagid=1234De lo contrario, use el siguiente código si su ruta se ve así:
localhost:8888/p/1234fuente
/p/:tagid=1234