Node.js将值从一个路由传递到另一个路由

时间:2017-10-21 16:23:43

标签: javascript node.js

我有一个呈现数据的网址和网址包含一些参数。所以当在同一条路线上我可以使用那些参数,但我不能在其他路线中使用它。有人可以帮助我如何将数据从一条路线传输到另一条路线。

router.get('/token/:tokenvalue', function(req, res, next){
  var token = req.params.tokenvalue;
  // globalVariable.token = token;
  // console.log(globalVariable.token);
  req.token = token;
  res.render('candidate.ejs');
})
显示此页面后,我正在使用谷歌登录,所以我不能将此令牌存储到req变量或其他地方。所以有人可以建议我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

有一个名为“ connect-flash”的NPM软件包构建

$ npm install connect-flash

比您的app.js || server.js (引导服务器的主文件)

var express = require('express');
var flash = require('connect-flash');
var app = express();
app.use(flash());

app.get('/login', function(req, res){
  // Set a flash message by passing the key, followed by the value, to req.flash().
  req.flash('username', 'Gaurav Gupta')
  res.redirect('/profile');
});

app.get('/profile', function(req, res){
  // Get an array of flash messages by passing the key to req.flash()
  let message = req.flash('username')
  res.render('index', { message: message }); // or {message} only es6 feature
});

闪存是会话中用于存储消息的特殊区域。消息被写入闪存,并在显示给用户后清除。 Flash通常与重定向结合使用,以确保该消息可用于要呈现的下一页。