我正在使用API,并且该API将我重定向到localhost:3001/home
[这样做时,它还会发送一个令牌以用于所有提取调用。网址看起来像:
我试图显示令牌只是为了检查我是否可以访问它但无济于事。
谁能告诉我我要去哪里错了?
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
您不要在express参数中使用路径参数作为查询参数。通过调用req.query为您自动检索它们:
router.get('/home', (req, res) => {
const token = req.query.access_token;
res.send(`The token is: ${token}`);
});
应该更正为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
您需要添加“?”在您的网址中是这样的:“ http://localhost:3001/home?access_token=yourTokenHere”
然后您可以从req.param()获得令牌。