res.redirect после res. json in node.js - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть следующий код, который я хочу перенаправить и вернуть ответ, может ли кто-нибудь помочь мне в этом? Что является лучшим решением для этого?

try {
  res.json(await example.preview(access_token, context, id, body))
  res.redirect(`${sso.host}/session/login?grant_type=bearer&access_token=${access_token}&remember_me=true&redirect_uri=${encodeURIComponent(
 'https://example.com'
 )}`);
} catch (e) {
  logger.info(e);
  next(e);
}

Ответы [ 2 ]

3 голосов
/ 18 февраля 2020

Вы не можете.

Невозможно (и просто не имеет смысла) одновременно сказать и то и другое:

  • Вот что вы просили
  • То, о чем вы просили, здесь отсутствует, вам нужно запросить этот URL вместо

(Это звучит как XY Проблема ; вы можете спросить новый вопрос о проблеме, которую вы пытаетесь решить, спрашивая, как сделать эту невозможную вещь).

2 голосов
/ 18 февраля 2020

Вы можете использовать res.json для возврата обычного ответа 200 с любыми данными, которые вы будете sh, а также добавить элемент redirectURL, который будет обрабатываться на стороне клиента.

Пример включен сторона клиента:

// Simulate a mouse click:
window.location.href = redirectURL;

// Simulate an HTTP redirect:
window.location.replace(redirectURL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...