是否可以在ExpressJS 3中的视图中访问我的查询参数?
我有一个网址:http://example.com?search=blah
在我看来,我想访问搜索参数
我可以将它作为当地人传递,但想知道我是否可以直接访问它 - 我的实验并不成功。
不寻找直接访问的优点和缺点 - 只想知道它是否可能以及如何实现。
答案 0 :(得分:2)
以下是从您的观点中访问req.query
的几种方法:
render
function(req, res) {
res.render('myview', {query: req.query});
};
在您的视图中,您可以search
访问query.search
。
res.locals
function(req, res) {
res.locals.query = req.query;
res.render('myview');
};
在您的视图中,您可以search
访问query.search
。
这与前面的示例类似,但我们可以以可重用的方式使用中间件。
function(req, res, next) {
res.locals.query = req.query;
next();
};
使用上述中间件的任何路由都将设置res.locals.query
。
我似乎误解了这个问题。目的是查看是否可以在不使用上述技术的情况下访问请求数据。据我所知,它不能。希望上述内容对某些读者仍然有用。
答案 1 :(得分:1)
我很确定只有本地人才会被传递到视图。
不寻找直接访问的优点和缺点 - 只想知道它是否可能以及如何实现。
没有利弊。这就像是说我希望将15乘以0但我不希望答案是苹果。
答案 2 :(得分:1)
中间件:
function(req, res, next) {
res.locals.param = req.param;
next();
};
视图:
<%= param.search %>