ReactJS 与 graphql CORS 问题与 django 后端
ReactJS with graphql CORS Issue with django backend
我在 http://127.0.0.1:8000
上有 运行 django
后端,我想用 reactjs
前端请求它。
正如您在下面看到的,我可以在 Insomnia
应用程序中看到成功的响应。
但是,当我想要一个带有 reactjs 前端的请求时,我得到一个 CORS
错误。
我检查了 inspect networks 中的请求,我看到了一个类似的带有 insomnia 的请求负载。
- 安装
django-cors-headers
:
pip install django-cors-headers
- 将
corsheaders
添加到settings.py
中的INSTALLED_APPS
:
INSTALLED_APPS = [
...,
"corsheaders",
...,
]
- 将
CorsMiddleware
添加到 settings.py
中的中间件:
MIDDLEWARE = [
...,
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
...,
]
- 现在您可以像这样在
settings.py
中设置允许的来源:
CORS_ALLOWED_ORIGINS = [
"https://example.com",
"https://sub.example.com",
"http://localhost:8080",
"http://127.0.0.1:9000",
]
更多信息在此link。
我在 http://127.0.0.1:8000
上有 运行 django
后端,我想用 reactjs
前端请求它。
正如您在下面看到的,我可以在 Insomnia
应用程序中看到成功的响应。
但是,当我想要一个带有 reactjs 前端的请求时,我得到一个 CORS
错误。
我检查了 inspect networks 中的请求,我看到了一个类似的带有 insomnia 的请求负载。
- 安装
django-cors-headers
:
pip install django-cors-headers
- 将
corsheaders
添加到settings.py
中的INSTALLED_APPS
:
INSTALLED_APPS = [
...,
"corsheaders",
...,
]
- 将
CorsMiddleware
添加到settings.py
中的中间件:
MIDDLEWARE = [
...,
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
...,
]
- 现在您可以像这样在
settings.py
中设置允许的来源:
CORS_ALLOWED_ORIGINS = [
"https://example.com",
"https://sub.example.com",
"http://localhost:8080",
"http://127.0.0.1:9000",
]
更多信息在此link。