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

Вернуться на верх