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 的请求负载。

  1. 安装django-cors-headers:
    pip install django-cors-headers
  2. corsheaders添加到settings.py中的INSTALLED_APPS:
INSTALLED_APPS = [
    ...,
    "corsheaders",
    ...,
]
  1. CorsMiddleware 添加到 settings.py 中的中间件:
MIDDLEWARE = [
    ...,
    "corsheaders.middleware.CorsMiddleware",
    "django.middleware.common.CommonMiddleware",
    ...,
]
  1. 现在您可以像这样在 settings.py 中设置允许的来源:
CORS_ALLOWED_ORIGINS = [
    "https://example.com",
    "https://sub.example.com",
    "http://localhost:8080",
    "http://127.0.0.1:9000",
]

更多信息在此link