Как перенаправить браузер на другой сайт, используя только внутренний код Node.js? - PullRequest
2 голосов
/ 30 октября 2019

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

Я отправляю запрос POST на свой сервер сAxios использует следующие параметры:

  const options = {
    withCredentials: true,
    headers: {
      'Content-Type': 'application/json',
      Accept: 'application/json',
    },
  };

На моем сервере Node-Express я возвращаю ответ, подобный следующему:

return res.redirect('https://google.com');

Браузер получает ответ с заголовком Location и пытаетсяотправить запрос OPTIONS на https://google.com,, но это не удается из-за настроек Google CORS (OPTIONS не разрешены).

Я знаю, что мог бы перенаправить браузер в моем JS на стороне клиента, используя, например, window.location.replace (), но возможно ли заставить браузер перейти на https://google.com (без выполнения вызова OPTIONS) только потому, что мой бэкэнд говорит ему об этом?

РЕДАКТИРОВАТЬ: Вотупрощенный маршрут:

router.post('/cats', (req, res) => {
    if (redirectCondition) {
        return res.redirect('https://google.com');
    }
    return res.sendStatus(200);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...