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

Posted

技术标签:

【中文标题】在 React 错误时调用 Django Api 时,请求的资源上不存在“Access-Control-Allow-Origin”标头【英文标题】:While Calling Django Api On React Error is No 'Access-Control-Allow-Origin' header is present on the requested resource 【发布时间】:2021-12-25 00:00:26 【问题描述】:

请任何人帮助我,我这周需要提交我的项目,我遇到了一周的问题。

错误是:-->

从源“http://localhost:3000”访问“http://127.0.0.1:8000/list/single/2”处的 XMLHttpRequest 已被 CORS 策略阻止:否“访问控制允许-请求的资源上存在 Origin' 标头。

请帮帮我????

【问题讨论】:

您需要添加或允许该站点到您服务器上的 cors 列表中。 【参考方案1】:

当你想从你的 react 应用程序访问服务器时,它被称为跨域请求,默认情况下一个域不允许访问托管在另一个域上的 API。

您的 ReactJs 应用程序在一个端口 (3000) 上,而您的服务器在另一个端口上,这会导致此问题。

您必须在您的服务器上启用 CORS。

你可以试试:

pip install django-cors-headers 

更多相关信息,您可以找到here

【讨论】:

我添加了 chrome 扩展作为 Moesif CORS,它的工作会在部署时损害任何东西?? 这根本不能解决你的问题。这只是一个临时修复。

以上是关于在 React 错误时调用 Django Api 时,请求的资源上不存在“Access-Control-Allow-Origin”标头的主要内容,如果未能解决你的问题,请参考以下文章

Django Admin,保存时调用函数

React + redux:连接组件加载时调用调度

如何仅在挂载时调用 api 并单击 Fetch Next User 按钮

React Native & RTK Query - 请求成功时调用另一个端点

如何在 React Native 中单击按钮时调用具有不同参数的相同 api

部署单独的 React 前端和 Django DRF API