Я не могу выполнить запрос от ReactJS. Шапка не может быть написана правильно - PullRequest
1 голос
/ 06 ноября 2019
axios.get('http://localhost:8080/omp/patients', { headers: {authorization: 'Bearer ' + token}})
        .then( response => {
                this.state = response.data;
            }
        ).catch(ex=> {
            alert("You are not registered");
            //console.log(e)
        });

enter image description here

В сети у меня есть поле: "Access-Control-Request-Headers: авторизация", но нет поля "авторизация: токен"

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Измените свой код на это:

axios.get('http://localhost:8080/omp/patients', { headers: { "Authorization": 'Bearer ' + token}})
        .then( response => {
                this.state = response.data;
            }
        ).catch(ex=> {
            alert("You are not registered");
            //console.log(e)
        });

Также в вашем app.js / index.js, где бы вы ни работали, ваш сервер импортирует / требует модуль cors и делает это так:

let cors = require('cors');
app.use(cors());

Надеюсь, это поможет!

0 голосов
/ 06 ноября 2019

Вам нужно будет правильно установить заголовок Авторизация, как в комментарии выше.

Для ответа о политике CORS:

Вам нужно будет узнать о CORS, но, в основном, Chrome идругие браузеры останавливают сетевые запросы, если у них не установлены надлежащие заголовки CORS при ответе. Предварительная проверка - это начальный запрос, который отправляется на тот же URL-адрес, чтобы узнать, будет ли URL-адрес поддерживать CORS, перед отправкой фактического запроса. Похоже, что сервер не понимает предварительные рейсы CORS или не настроен должным образом.

У вас есть пара вариантов:

  1. Если у вас есть доступ к конфигурации или коду сервера (например, сервер Laravel или NodeJS), установите плагин CORS.
  2. Если вы являетесь единственным пользователем, использующим это, вы можете установить расширения браузера CORS для Chrome или Firefox или любого другого.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...