我正在使用MEAN JS框架来创建一个应用程序。我的目的是在网站加载时检测查询参数,然后为应用程序设置某些参数。
我的server.js:
exports = module.exports = app;
服务器控制器
exports.index = function(req, res) {
console.log('URL is ' + req.url);
console.log('Path is ' + req.path);
var param1 = req.query.param1;
console.log('Parameter : ' + param1);
console.dir(req.query);
res.render('index', {
request: req,
myparam : param1 //Setting my custom parameter
});
};
访问过的网址:
http://localhost:3000/#!/?param1=test
输出:
URL is /
Path is /
Parameter : undefined
{}
根本没有检测到查询参数。有人可以解释为什么会发生这种情况。我知道Express在路由时会忽略参数,但是它也会删除网址吗?
编辑:
导致错误的是角度片段网址。在我使URL正常后,Express使用上述方法检测到所有查询参数。
编辑2:
这里的详细答案
答案 0 :(得分:0)
由于我无法访问完整代码,因此我不能100%确定这是适合您的正确解决方案。
虽然它适用于我:
定义:
var query = require('url').parse(req.url,true).query;
然后:
var param1 = query.param1
请告诉我这是否有帮助:)