首页 > 解决方案 > 请求的资源 React Django 错误上不存在“Access-Control-Allow-Origin”标头

问题描述

CORS 策略已阻止从源“http://localhost:8000/api/product/”获取“http://localhost:8000/api/product/”的访问权限:不存在“Access-Control-Allow-Origin”标头请求的资源。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

标签: reactjsdjangoapidjango-rest-frameworkdjango-cors-headers

解决方案


此错误是由您的 django 后端引起的。您可以采取以下措施来解决它:

  1. 使用像@seddouguim 建议的 pip 安装 django-cors-headers
  2. 在 django settings.py 文件中将“corsheaders”添加到已安装的应用程序中
  3. 在同一 settings.py 文件的底部,您可以添加一个名为CORS_ORIGIN_WHITELIST=['localhost:3000'](或您要添加的任何 URL)的设置,或者您可以设置CORS_ORIGIN_ALLOW_ALL = True(适用于开发环境,但不适用于生产环境)
  4. 最后设置CORS_ALLOW_HEADERS = ("x-requested-with", "content-type", "accept", "origin", "authorization", "x-csrftoken")

你应该很高兴

如果您遇到任何其他问题,请随时告诉我


推荐阅读