 |

12.07.2024, 18:02
|
|
Новичок
Регистрация: 28.03.2019
Сообщений: 20
С нами:
3753368
Репутация:
51
|
|
Как исправить ошибку:
Access to XMLHttpRequest at ' http://localhost:5000/api/get' from origin ' http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Написал API на express а так же само приложение на react, но при отправке запросов через axios непосредственно из react приложения к API получаю выше упомянутую ошибку, в express приложение установил cors, подключил, как было сказано на многих форумах и видосах, но результата не получил, получаю всю ту же ошибку, в чём может быть проблема?
P.S Так же проверял работаспособность API с помощью insomnia, сама API работает без проблем
Код сервака
JavaScript :
Код:
const
express
=
require
(
'express'
)
const
userRouter
=
require
(
'./router/userRouter.js'
)
const
cors
=
require
(
'cors'
)
const
PORT
=
5000
const
app
=
express
(
)
app
.
use
(
express
.
json
(
)
)
app
.
use
(
'/api'
,
userRouter
)
app
.
use
(
cors
(
)
)
const
start
=
(
)
=>
{
try
{
app
.
listen
(
PORT
,
(
)
=>
console
.
log
(
`server started on PORT${PORT}`
)
)
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
start
(
)
Вот как я делаю запрос непосредственно в React
JavaScript :
Код:
useEffect
(
(
)
=>
{
axios
.
get
(
'/api/get'
)
.
then
(
(
res
)
=>
{
console
.
log
(
res
)
}
)
}
,
[
]
)
(Предварительно ещё создал отдельный файл под axios
Где для удобства импортнул сам axios и сделал базовый url для того что бы легче делать запросы)
JavaScript :
Код:
import
axios
from
'axios'
const
instance
=
axios
.
create
(
{
baseURL
:
'http://localhost:5000'
}
)
export
default
instance
@neverlane
|
|
|

12.07.2024, 18:10
|
|
Познавший АНТИЧАТ
Регистрация: 01.11.2018
Сообщений: 1,010
С нами:
3964085
Репутация:
183
|
|
Сообщение от Klentovskiy
app.use('/api', userRouter) app.use(cors())
надо подключать cors до userRouter
|
|
|

12.07.2024, 18:43
|
|
Новичок
Регистрация: 28.03.2019
Сообщений: 20
С нами:
3753368
Репутация:
51
|
|
Сообщение от neverlane
надо подключать cors до userRouter
Да действительно пофиксилось, но теперь я получаю в ответ
Хотя повторюсь API работает правильно, когда в открываю эту страницу у меня всё работает, когда я делаю запросы через insomnia тоже всё работает
|
|
|

12.07.2024, 18:55
|
|
Познавший АНТИЧАТ
Регистрация: 01.11.2018
Сообщений: 1,010
С нами:
3964085
Репутация:
183
|
|
Сообщение от Klentovskiy
Да действительно пофиксилось, но теперь я получаю в ответ
Хотя повторюсь API работает правильно, когда в открываю эту страницу у меня всё работает, когда я делаю запросы через insomnia тоже всё работает
а я ебу что у тебя в userRouter?
если ты не хочешь чтобы промис не режектился - передай в
поле
со значением
|
|
|

12.07.2024, 19:00
|
|
Новичок
Регистрация: 28.03.2019
Сообщений: 20
С нами:
3753368
Репутация:
51
|
|
JavaScript :
Код:
const
jwt
=
require
(
'jsonwebtoken'
)
const
{
secret
}
=
require
(
'../config.js'
)
const
db
=
require
(
'../settings/db.js'
)
class
userController
{
async
get
(
req
,
res
)
{
try
{
res
.
status
(
400
)
.
json
(
{
message
:
'success'
}
)
}
catch
(
e
)
{
}
}
}
module
.
exports
=
new
userController
(
)
userRouter
|
|
|

12.07.2024, 19:02
|
|
Познавший АНТИЧАТ
Регистрация: 01.11.2018
Сообщений: 1,010
С нами:
3964085
Репутация:
183
|
|
Сообщение от Klentovskiy
JavaScript :
Код:
const
jwt
=
require
(
'jsonwebtoken'
)
const
{
secret
}
=
require
(
'../config.js'
)
const
db
=
require
(
'../settings/db.js'
)
class
userController
{
async
get
(
req
,
res
)
{
try
{
res
.
status
(
400
)
.
json
(
{
message
:
'success'
}
)
}
catch
(
e
)
{
}
}
}
module
.
exports
=
new
userController
(
)
userRouter
ну так все верно, axios по дефолту резолвит 2хх коды, другие - режектит (выкидывает ошибку)
выше написал как решить проблему
|
|
|

12.07.2024, 19:03
|
|
Новичок
Регистрация: 28.03.2019
Сообщений: 20
С нами:
3753368
Репутация:
51
|
|
Сообщение от neverlane
ну так все верно, axios по дефолту резолвит 2хх коды, другие - режектит (выкидывает ошибку)
выше написал как решить проблему
Всё я понял, я дурик, я забыл код ошибки поменять я вместо 200 кода возвращал 400
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|