3xx редирект с отсутствующим заголовком «Access-Control-Allow-Origin» на запрошенном ресурсе » - PullRequest
0 голосов
/ 26 сентября 2019

Репозиторий с проектом

Я получаю информацию о заблокированном доступе политикой CORS, и ни одно из решений, на которые я смотрел, похоже, не работает.

error message

Access to XMLHttpRequest at 'http://localhost:8000/search' from origin 'http://localhost:8080' has been blocked by CORS policy: No 
'Access-Control-Allow-Origin' header is present on the requested resource.

Мой сервер размещен локально на localhost: 8000, а внешний интерфейс на loacalhost: 8080.Я хочу опубликовать текстовые данные в Vue с помощью Axios в файле: store.js% 43: 56 :

   axios.post('http://localhost:8000/search', {
      queryText: 'TEST_TEXT'
   }).then(function (response) {
      // handle success
      console.log(response)
   }).catch(function (response) {
      // handle error
      console.log(response)
   })

Бэкэнд написан на Django с Rest API.Я следовал этим инструкциям , но ответ остался прежним.Ответ отвечает за здесь и настройки были установлены здесь

Я не хочу:

  • Отключить веб-безопасностьв Chrome
  • Использование JSONP
  • Использование стороннего сайта для перенаправления моих запросов

Если кто-то захочет запустить проект, просто установите требования.txt из основной папки и следуйте инструкциям README из основной и внешней папок.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

Посмотрите URL в заголовке ответа Location в ответе 3xx и используйте этот URL в качестве URL-адреса запроса вместо URL-адреса запроса, который вы впервые попробовали.

Может быть, вам просто нужно добавить конечный символкосая черта - например, http://localhost:8000/search/ (а не просто http://localhost:8000/search).

0 голосов
/ 26 сентября 2019

Вам нужно включить настройки CORS в Django, посмотрите на django-cors-headers .

Также, если вы выполняете аутентификацию на основе сеансов, вам, возможно, придется добавить некоторые дополнительные настройки в заголовки.Некоторое время назад я боролся с Angular2, но думаю, что если вы столкнетесь с этой проблемой , то этот ответ будет для вас актуален.

...