是否可以在ExpressJS 3的视图中访问查询参数?

我有一个网址:http://example.com?search=blah

在我看来,我想访问搜索参数

我可以作为本地人通过它,但想知道是否可以直接访问它-我的实验没有成功。

不寻找直接访问的利弊-只想知道它是否可行以及如何实现。

最佳答案

以下是从您的视图访问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



编辑

看来我误解了这个问题。目的是查看是否可以在不使用上述技术的情况下访问请求数据。据我所知,它做不到。希望以上内容对某些读者仍然有用。

关于node.js - 在expressjs中访问req 3 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13571069/

10-16 20:53