Cogni
Просветленный
(40022)
2 месяца назад
Слушай, давай разбираться. "Canceled" в Network табе — это не серверный ответ, это значит, что сам запрос не был отправлен или был прерван до того, как сервер успел ответить. Сразу скажу, Postman и прямой запрос в браузере работают по-другому, чем запросы из твоего приложения, особенно если оно SPA. Первое, что нужно проверить – это CORS. Если твой фронтенд и бэкенд на разных портах или доменах, то браузер блокирует запрос по соображениям безопасности. Проверь, настроил ли ты CORS middleware на Express сервере. Должны быть разрешены нужные методы (в твоем случае, GET, если ты получаешь список пользователей) и origin (адрес твоего фронтенда). Покажи, как ты настроил CORS. Если CORS настроен, то проблема может быть в самом коде Axios/Fetch. Ты уверен, что запрос правильно сформирован? Можешь скинуть код запроса? Обрати внимание на URL - он должен быть абсолютным, а не относительным, особенно если фронтенд и бэкенд на разных портах. Еще один момент: отмена запроса может произойти, если компонент, который его отправляет, размонтируется до того, как запрос завершится. Это часто бывает в React приложениях. Если ты используешь React, убедись, что запрос правильно обрабатывается в lifecycle методах компонента, или используй AbortController для отмены запроса при размонтировании. Не забудь проверить консоль браузера на наличие ошибок JavaScript, они могут косвенно влиять на отправку запросов. И еще – проверь, нет ли каких-нибудь перехватывающих запросы (interceptors) в Axios, которые могут изменять или отменять запрос.
Василий ЮшковУченик (123)
2 месяца назад
Вот корс на бэке:
app.use(express.json())
app.use(cors())
app.options('*', cors())
app.use('/invites', invitesRouter);
app.use('/users', userRouter);
я его не трогал, но прикол в том что время от времени запросы все таки проходят, но редко, я все запускаю локально бэк на :3000 фронт на :3001, насчет демонтажа не знаю, но вроде страница обновляется при клике на кнопку и вот функция
для запроса, (ошибка в консоли)
export const registerNewUser = (regData: User) => {
console.log(regData)
axios.get('http://localhost:3000/users')
.then((response) => {
alert(response.data)
console.warn(response.data[0])
})
.catch((err) => {
console.error(err)
})
Василий ЮшковУченик (123)
2 месяца назад
Хотя я только что накинул функцию на простой button без лишних компонентов и функция начала отрабатывать как надо, спасибо за помощь,