自定义请求头抛出CORS错误并重定向到OPTIONS



我正在尝试创建一个API库Django在。该API将由javascript调用。Django-API和javascript在两个不同的服务器上运行。

django API库正在等待javascript前端的自定义请求头。我正在解析这个头从django请求对象。

一切都很好,当我在邮差。但是当我从浏览器尝试这个时,浏览器拒绝了我的自定义请求头。并自动调用OPTIONS方法。

Previously some cors issue was happening.
And I solved it by adding:

response["Access-Control-Allow-Origin"] = "*"
response["Access-Control-Allow-Headers"] = "*"

Also already implemented:
- django-cors-headers module installed
- corsheaders.middleware.CorsMiddleware middleware installed
- set ALLOWED_HOSTS = ['*']  & CORS_ORIGIN_ALLOW_ALL = True

当前的问题实际上是由于在请求中添加了自定义标头。有人能帮忙吗?我正处在不做就做的情况下。

我尝试了django的各种响应头。它与后端还是前端有关?如何解决这个问题?

您的自定义请求头需要添加到CORS_ALLOW_HEADERS

from corsheaders.defaults import default_headers
CORS_ALLOW_HEADERS = list(default_headers) + [
"my-custom-header",
]

请检查此处描述的其他设置:https://pypi.org/project/django-cors-headers/例如CORS_ALLOWED_ORIGINS

最新更新