Javascript 如何在Node/Express中获取查询字符串?

Javascript 如何在Node/Express中获取查询字符串?,javascript,node.js,express,parameters,query-string,Javascript,Node.js,Express,Parameters,Query String,如何将查询字符串从一个页面发送/获取到另一个页面 我使用的是:节点版本v0.12.3000 express 3.20.3 我试着这样做: 第1.js页 第2.js页 谢谢 简而言之:你不能那样做 更详细的回答:您要做的是在一个路由处理程序中排队等待另一个路由将使用的消息,或者只是在它们之间共享状态 post_enviar导出是无状态的。它不引用自身之外的任何数据 为了证明:警告,不要这样做。。。如果有两个类似于以下内容的路由控制器模块: // route1controller.js var la

如何将查询字符串从一个页面发送/获取到另一个页面

我使用的是:节点版本v0.12.3000 express 3.20.3

我试着这样做:

第1.js页 第2.js页
谢谢

简而言之:你不能那样做

更详细的回答:您要做的是在一个路由处理程序中排队等待另一个路由将使用的消息,或者只是在它们之间共享状态

post_enviar导出是无状态的。它不引用自身之外的任何数据

为了证明:警告,不要这样做。。。如果有两个类似于以下内容的路由控制器模块:

// route1controller.js
var lastQuery = {};
module.exports.route1controller = function (req, res, next) {
  lastQuery = req.params;
  res.render(...);
}
module.exports.lastQuery = lastQuery;

然后,route2controller呈现的页面将获取在请求中最后发送给route1controller的对象或参数数组。这只是在两个控制器之间共享状态的一种粗略方式,您确实不想这样做。考虑一个更易于管理的解决方案,比如将日志写入到平面文件,或者将数据库请求发送到给定的路由,然后在另一个页面上以人类可读的方式解析它们。p>
如果您希望在一个页面上获取有关到另一个页面的请求的实时信息,则需要研究更复杂的解决方案,如WebSocket或当前数据轮询。

要将数据从一个Express处理程序传输到另一个处理程序,您需要发送另一个请求,需要HTTP客户端。在浏览器作为客户端的情况下,您可以使用a,将param1呈现为其中的a的值。请描述您的实际原始问题,而不是您尝试的解决方案,以便我们了解您试图实现的目标。Try var qstring=require'qs'.stringifyreq.query
function p2(req, res){
    res.render('page2');
};

exports.p2= p2;

exports.get_enviar = function(req, res){
    var param1 = req.params.param1;
    console.log("param1: "+param1);
}
// route1controller.js
var lastQuery = {};
module.exports.route1controller = function (req, res, next) {
  lastQuery = req.params;
  res.render(...);
}
module.exports.lastQuery = lastQuery;
// route2controller
var lastQuery = require('./path/to/route1controller').lastQuery;
module.exports.route2controller = function (req, res, next) {
   res.send(lastQuery);
}