#node.js #express #axios
#node.js #экспресс #axios
Вопрос:
Как я могу принудительно перенаправить сервер, инициируемый запросом axios get / post?
- включено промежуточное программное обеспечение cors
- сервер не отвечает перенаправлением на другой маршрут
// FE REQUEST
const redirectBTN = document.querySelector('.btn-redirect');
redirectBTN.addEventListener('click', async () => {
axios.get('http://localhost:8000/from');
});
// BE RESPONSE
app.get('/from', (req, res) => {
res.redirect('/to');
});
app.get('/to', (req, res) => res.send('Hello, World!'));
Ответ №1:
Ajax
вызовы не являются «чистым» запросом браузера, они не могут заставить браузер перенаправить на страницу (с помощью заголовков).
Вы можете использовать window.location
для перенаправления пользователя, если знаете URL.
const redirectBTN = document.querySelector('.btn-redirect');
redirectBTN.addEventListener('click', async () => {
window.location.href = 'http://localhost:8000/from';
});
Или вы можете выполнить вызов Ajax и использовать window.location
const redirectBTN = document.querySelector('.btn-redirect');
redirectBTN.addEventListener('click', async () => {
axios.get('http://localhost:8000/from')
.then((res) => {
window.location.href = 'http://localhost:8000/from/' res.some.data;
});
});