jquery 中文版javascript:自定义请求标头引发CORS错误并重定向到OPTIONS

bq3bfh9z  于 2022-12-18  发布在  jQuery
关注(0)|答案(1)|浏览(141)

我正在尝试在Django中创建一个API库。这个API将被javascript调用。Django-API和javascript运行在两个不同的服务器上。
django API库需要一个来自javascript前端的自定义请求头。我正在解析来自django请求对象的这个头。
当我在postman中尝试时一切都很好。但是当我在浏览器中尝试时,浏览器拒绝了我的自定义请求头。并且它自动调用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的各种响应头。它是和后端还是前端有关?如何解决这个问题?

1zmg4dgp

1zmg4dgp1#

您的自定义请求标头需要添加到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

相关问题