繁体   English   中英

请求的资源上不存在“Access-Control-Allow-Origin”标头 React Django 错误

[英]No 'Access-Control-Allow-Origin' header is present on the requested resource React Django error

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

我对 Django 没有任何经验,但我知道该错误是因为您必须启用 CORS,这将允许您对调用源以外的域(或在不同端口上)进行 api 调用。 查看文档以了解如何启用 CORS。

https://pypi.org/project/django-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")

你应该很高兴去

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM