Заблокирован перекрестный запрос - использование Axios и Django REST - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь сделать запрос GET в моем приложении, которое обслуживается локально (порт 8080) с использованием на сервере узла.Я использую Axios, чтобы сделать запрос к REST-серверу django, который также обслуживается локально (порт 8000).

Мой запрос выглядит так:

axios.get('http://127.0.0.1:8000/recipes/',{headers: {"Access-Control-Allow-Origin": "*"}})

На стороне Django яЯ включил их в мое промежуточное ПО

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

и это в мои установленные приложения:

INSTALLED_APPS = [
    'corsheaders',
]

И включил этот параметр:

CORS_ORIGIN_ALLOW_ALL = True

Но япо-прежнему выдает ошибку CORS:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:8000/recipes/. (Reason: missing token ‘access-control-allow-origin’ in CORS header ‘Access-Control-Allow-Headers’ from CORS preflight channel).

Есть идеи, что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Вам нужно создать экземпляр axios, поместив доменную часть вашего URL в baseUrl, а остальные в get - это так просто.

var instance = axios.create({
    baseURL: "http://localhost:8088"
  });

  instance.get(url)
      .then(function(response) { 
    })
0 голосов
/ 02 декабря 2018

Я разобрался.

Мне нужно было удалить:

{headers: {"Access-Control-Allow-Origin": "*"}

из запроса.Видимо, этот заголовок должен быть только частью ответа.

После удаления все работает.

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