После отправки запроса 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);
});