Браузер делает запрос OPTIONS к django для запроса CORS, но без POST - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь отправить форму из реагирующего приложения по почте на сервер django из другого источника.

Браузер отправляет запрос OPTIONS, на который промежуточное программное обеспечение cors на сервере отвечает 200, и следующую информацию:

HTTP/1.1 200 OK
Date: Mon, 08 Apr 2019 16:34:38 GMT
Server: WSGIServer/0.2 CPython/3.7.2
Content-Type: text/html; charset=utf-8
Content-Length: 0
Vary: Origin
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: accept, accept-encoding, authorization, content-type, dnt, origin, user-agent, x-csrftoken, x-requested-with
Access-Control-Allow-Methods: DELETE, GET, OPTIONS, PATCH, POST, PUT
Access-Control-Max-Age: 86400
Connection: keep-alive

Но впоследствии браузер никогда не отправляет запрос POST. В консоли не отображаются ошибки ...

1 Ответ

0 голосов
/ 08 апреля 2019

Попробуйте установить приложение django-cors-headers (https://pypi.org/project/django-cors-headers/) и просто добавить CORS_ORIGIN_ALLOW_ALL = True в ваш файл настроек django. Это самый простой способ решить вашу проблему, и это приложение предоставляет вам множество вариантов настройки CORS.

Или вы можете написать собственное промежуточное программное обеспечение и добавить заголовки CORS для каждого ответа.

В противном случае вы можете добавить конфигурацию заголовков CORS на свой веб-сервер (nginx, apache и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...