【发布时间】:2016-11-29 14:53:25
【问题描述】:
我正在使用 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?
编辑:
这是导致错误的角度片段网址。一旦我使 URL 正常,Express 使用上述方法检测到所有查询参数。
编辑 2:
这里有详细解答
【问题讨论】:
-
你可以使用 body-parser 获取参数:req.body.param1
-
谢谢,试一试。虽然查询字符串参数应该存储在 req.query 对吗?它怎么连检测都没有?
-
试试 req.QueryString("param1")
-
req.body 也是空的。对于 req.QueryString,它给出了一个错误,指出不存在这样的函数。
-
感叹号是干什么用的?我第一次在网址中看到它
标签: express mean-stack meanjs