Блокировка чтения из разных источников в Django (CORB) (не CORS) - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь проверить звонок на мой локальный сервер разработки Django.Это вызов AJAX, который возвращает объект JSON.Представление Django делает это:

return JsonResponse(response, safe=False)

Я проверяю это, запуская сервер Django (который запускает серверную часть), а затем запускаю браузер и открываю измененную HTML-страницу.Эти страницы не обслуживаются Django.

В Firefox я могу сделать вызов ajax на странице.Возвращает правильные данные, с правильным типом MIME.

В Chrome я не могу.Я получаю следующую ошибку:

Cross-Origin Read Blocking (CORB) blocked cross-origin response http://localhost:8000/dataload/alljson with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

Я попытался найти решение этой проблемы.Я проверил этот вопрос , но предложение очистить мой кеш ничего не делает.Я также нашел предложения, которые включают использование django-cors-headers, но это CORB (не CORS).Тем не менее, я установил corsheaders и установил CORS_ORIGIN_ALLOW_ALL = True, чтобы исключить это как возможность.

Мой MIDDLEWARE параметр имеет это

MIDDLEWARE = [
...
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
...
]

Заголовки ответов, которые я получаю в Firefoxявляются:

Content-Length      12827
Content-Type        application/json
Date        Wed, 06 Feb 2019 18:38:03 GMT
Server      WSGIServer/0.2 CPython/3.6.7
Vary        Origin
X-Frame-Options     SAMEORIGIN

Я звоню http://localhost:8000/dataload/alljson.Если я позвоню http://localhost:8000/dataload/alljson/ (с завершающей косой чертой), я получу 404.

Все еще без кубиков.

Как я могу получить Chrome, чтобы разрешить ответ от моего сервера разработки Django для этогоAjax Call?

...