如何通过Express将请求响应从一条路由传递到另一条路由

时间:2019-10-03 23:58:27

标签: node.js express

我有以下特快航线:

{
    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "shortdesc"
                }
            }
        }
    }
}

我有两个控制台日志{ "query": { "bool": { "must_not": { "term": { "shortdesc": "" } } } } } router.get( "/auth/google/callback", passport.authenticate("google", { failureRedirect: "/error", session: false }), function(req, res) { var token = req.user.token; res.redirect("/getData?token=" + token); } ); router.get('/getData', function(req, res) { var token = req.query.token; console.log(token) request('https://www.googleapis.com/analytics/v3/management/accounts?access_token=' + token, function (error, response, body) { let views = [] JSON.parse(body).items.forEach(view => { views.push({ name: view.webPropertyId + ' - ' + view.name + ' (' + view.websiteUrl + ')' }) }) res.redirect("/test?data="+ views); }); }) router.get('/test', function(req, res) { var testdata = req.user.data; console.log(testdata) res.send("ok") }) 。第一个控制台日志正在运行,第二个控制台日志未返回任何信息。我尝试了多种方法将数据从请求传递到测试页,但我无法做到这一点。为什么?

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试通过查询参数传递数据,然后尝试通过req.user读取数据。在我看来,这只是语法错误。将req.user.data更改为req.query.data