ExpressJS- url中的显示参数

问题描述 投票:0回答:3

我正在使用API​​,并且该API将我重定向到localhost:3001/home

[这样做时,它还会发送一个令牌以用于所有提取调用。网址看起来像:

http://localhost:3001/home#access_token=zTeQkUQkUvTHYqCcmbdWKne04DXaXWur1ZMr0GGZLM_WlVnNBQDS7-sZJZ5tEEkg4Oa2DimoF67jGXJkNzUcw4YIM0WgBVum4yQkUvTHYqCcmbdWKne04DXaXWur1ZMr0GGZLM_WlVnNBQDS7-sZJZ5tEEkg4Oa2DimoF67jGXJkNzUcw4YIM0WgBVum4yOCQWGuqfMfzK60QAHJKDNBZT4-Py6rpbIE&token_type=Bearer&expires_in=3600

我试图显示令牌只是为了检查我是否可以访问它但无济于事。

谁能告诉我我要去哪里错了?

router.get('/home?:access_token', (req, res) => {
    const token = req.param('access_token');
    res.send(`The token is: ${token}`);
  });

理想情况下,我希望页面显示:

Your token is: zTeQkUQkUvTHYqCcmbdWKne04DXaXWur1ZMr0GGZLM_WlVnNBQDS7-sZJZ5tEEkg4Oa2DimoF67jGXJkNzUcw4YIM0WgBVum4yQkUvTHYqCcmbdWKne04DXaXWur1ZMr0GGZLM_WlVnNBQDS7-sZJZ5tEEkg4Oa2DimoF67jGXJkNzUcw4YIM0WgBVum4yOCQWGuqfMfzK60QAHJKDNBZT4-Py6rpbIE

相反,我得到:

Your token is: e
javascript express token router
3个回答
0
投票

您不要在express参数中使用路径参数作为查询参数。通过调用req.query为您自动检索它们:

router.get('/home', (req, res) => {
    const token = req.query.access_token;
    res.send(`The token is: ${token}`);
});

0
投票

应该更正为req.params而不是req.param

  router.get('/home?:access_token', (req, res) => {
    const token = req.params.access_token;
    res.send(`The token is: ${token}`);
  });

PS:我无法发表评论。尝试,req.params.access_token


0
投票

您需要添加“?”在您的网址中是这样的:“ http://localhost:3001/home?access_token=yourTokenHere

然后您可以从req.param()获得令牌。

© www.soinside.com 2019 - 2024. All rights reserved.