В запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin — при попытке получить данные из REST API.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 В запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin — при попытке получить данные из REST API.

Сообщение Anonymous »


Я пытаюсь получить некоторые данные из REST API HP Alm. Он очень хорошо работает с небольшим скриптом Curl — я получаю свои данные.

Теперь сделать это с помощью JavaScript, fetch и ES6 (более или менее) кажется более серьезной проблемой. Я постоянно получаю это сообщение об ошибке:

Невозможно загрузить API Fetch. Ответ на предполетный запрос не получен. пройти проверку контроля доступа: заголовок «Access-Control-Allow-Origin» отсутствует. присутствует на запрошенном ресурсе. Происхождение «http://127.0.0.1:3000» поэтому доступ запрещен. В ответе был код состояния HTTP 501. Если непрозрачный ответ соответствует вашим потребностям, установите режим запроса на «no-cors» для получения ресурса с отключенным CORS.

Я понимаю, что это связано с тем, что я пытаюсь получить эти данные с моего локального хоста, и решение должно использовать совместное использование ресурсов между источниками (CORS). Я думал, что действительно так и сделал, но почему-то либо игнорируется то, что я пишу в шапке, либо проблема в чем-то другом.

Итак, есть ли проблемы с реализацией? Я делаю это неправильно? К сожалению, я не могу проверить логи сервера. Я действительно немного застрял здесь.

function PerformSignIn() { пусть заголовки = новые заголовки(); headers.append('Content-Type', 'application/json'); headers.append('Принять', 'приложение/json'); headers.append('Access-Control-Allow-Origin', 'http://localhost:3000'); headers.append('Access-Control-Allow-Credentials', 'true'); headers.append('GET', 'POST', 'OPTIONS'); headers.append('Авторизация', 'Basic' + base64.encode(имя пользователя + ":" + пароль)); выборка (sign_in, { //режим: 'без корса', учетные данные: «включить», метод: 'POST', заголовки: заголовки }) .then(ответ => ответ.json()) .then(json => console.log(json)) .catch(error => console.log('Ошибка авторизации: ' + error.message)); } Я использую Chrome. Я также пытался использовать этот плагин Chrome CORS, но затем получаю другое сообщение об ошибке:

Значение заголовка Access-Control-Allow-Origin в ответе не должен быть подстановочным знаком '*', когда режим учетных данных запроса 'включать'. Поэтому источник «http://127.0.0.1:3000» не разрешен. доступ. Режим учетных данных для запросов, инициированных XMLHttpRequest контролируется атрибутом withCredentials.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»