重定向节点js / express js后,将变量/值发送到其他路由

时间:2015-09-29 19:24:00

标签: javascript node.js express

我想将变量/值发送到我重定向到的路由。我已经测试过设置带有该值的标头。但它似乎没有用。

第一条路线(这里我重定向用户):

res.writeHead(302, {
  'Authorization' : "VALUE HERE!!!", 
   "Location" : "/view/"
  });
res.end();

目的地:

router.get('/view', function(req, res, next){
    console.log(req.headers.authorization); <-- undefined
    res.render('login', {lang: "en", 
        title: "Title"});
});

“req.headers.authorization”未定义。

App.js

res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization');

如何将值/变量发送/传递到我将用户重定向到的路由?没有设置参数。

1 个答案:

答案 0 :(得分:0)

您正在向用户发送标头,而不是接收它们。它是一个两步过程。我会改用查询参数:

res.writeHead(302, {      
  "Location" : "/view?access_token=abc"
});

虽然这不像标题那样理想,但是当标题不可用时,OAuth规范之类的内容会允许它,并且大多数auth库都会查找查询参数。检查您正在使用的任何库文档。