Django javascript: Пользовательский заголовок запроса выбрасывает ошибку CORS и перенаправляет на OPTIONS
Я пытаюсь создать библиотеку API в Django. Этот API будет вызываться javascript. Django-API и javascript запущены на двух разных серверах.
Библиотека django API ожидает пользовательский заголовок запроса от javascript front end. Я анализирую этот заголовок из объекта запроса 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. Это связано с back end или front end? Как это решить?
Ваш пользовательский заголовок запроса должен быть добавлен в 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