ExpressJS - отображать параметр из URL - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю с API, и API перенаправляет меня на localhost:3001/home

. Когда это происходит, он также отправляет токен для использования при любых вызовах выборки. URL тогда выглядит примерно так:

http://localhost: 3001 / дома # access_token = zTeQkUQkUvTHYqCcmbdWKne04DXaXWur1ZMr0GGZLM_WlVnNBQDS7-sZJZ5tEEkg4Oa2DimoF67jGXJkNzUcw4YIM0WgBVum4yQkUvTHYqCcmbdWKne04DXaXWur1ZMr0GGZLM_WlVnNBQDS7-sZJZ5tEEkg4Oa2DimoF67jGXJkNzUcw4YIM0WgBVum4yOCQWGuqfMfzK60QAHJKDNBZT4-Py6rpbIE & token_type = Носителем & expires_in = 3600

1011

Я пытаюсь отобразить токен, чтобы проверить, могу ли я получить к нему доступ, но безрезультатно.

Может кто-нибудь сказать мне, где я не так?

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

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020

Это должно быть исправлено как 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 голосов
/ 29 апреля 2020

Вы должны исправить это так:

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

Вам нужно добавить "?" в вашем URL вот так: "http://localhost: 3001 / home? access_token = yourTokenHere "

Затем вы можете получить токен из req.param ().

0 голосов
/ 29 апреля 2020

Вы не используете параметры пути в express для параметров запроса. Они автоматически извлекаются для вас, вызывая req.query:

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