2017-01-16 6 views
1

Я пытаюсь сделать запрос получения axios из приложения-спа на сервер falcon python, который должен быть настроен для запросов CORS. Я обеспечиваю следующие заголовки на мой запрос:Выполнение запросов на аксиомы заблокировано cors

const getHeaders = { 
    headers: { 
    'Access-Control-Expose-Headers': 'X-json', 
    'Access-Control-Allow-Headers': '*', 
    'Access-Control-Allow-Origin': '*', 
    'Access-Control-Request-Method': 'get', 
    'Access-Control-Request-Headers': 'X-custom-header', 
    'Content-Type': 'application/json', 
    Accept: 'application/json', 
    }, 
}; 

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

Мне удалось сделать запросы на этот же сервер, прежде чем использовать JavaScripts для извлечения api и отключения cors в браузере с помощью chrome-плагина.

Теперь я ударил немного кирпичной стены, любая помощь приветствуется. Я использую webpack-dev-server для разработки, но у меня также есть экспресс-настройка для производства, где я пытался установить эти же заголовки с помощью функции express, но проблема повторяется.

Спасибо!

+0

заголовки 'Access-Control' являются ** ответными ** заголовками. Вы не должны предоставлять их в запросе. – Quentin

+0

'getHeaders' подразумевает, что вы делаете запрос GET, почему вы устанавливаете' Content-Type'? Для описания содержимого не существует органа запроса. – Quentin

+0

«python falcon server»/«Я использую webpack-dev-сервер для разработки, но у меня также есть экспресс-установка для производства, где я пытался установить эти же заголовки с использованием на экспресс» - если у вас есть проблема с внедрением CORS на Express или Webpack Server, тогда вы можете попробовать задать вопрос об этом. Вы должны указать свой код Python/Webpack/Express в [mcve]. Вы также должны указать точное сообщение об ошибке, которое вы получаете в консоли браузера. Существует множество ошибок, связанных с CORS. Вы должны указать, какие URL-адреса (упомянутые в ошибке) относятся к серверам. – Quentin

ответ

0

CORS разрешает создание источника на сервере, а не на клиенте. Вам нужно либо установить эти заголовки на сервере, либо создать собственный сервер для связи с сервером Python, а затем выполнить запрос.

+0

После того, как много шутите, я пришел к следующим выводам: ** 1) ** Ваш сервер должен поддерживать CORS (я использую laravel, и я использую это [** https: //github.com/barryvdh /laravel-cors**](https://github.com/barryvdh/laravel-cors) ) и ** 2) ** Конфигурации Axios, которые работают для меня: axios.defaults.headers.common ['Content-Type'] = 'application/x-www-form-urlencoded, application/json' axios.defaults.headers.common.crossDomain = true axios.defaults.headers.common ['Access-Control-Allow -Origin '] =' * ' axios.defaults.headers.common [' Accept '] =' application/json, text/plain, */* ' – Anthony

 Смежные вопросы

  • Нет связанных вопросов^_^