Я пытаюсь получить некоторые данные из REST API HP Alm. Он работает очень хорошо с небольшим завитком script - я получаю свои данные.
Теперь, используя JavaScript, выборка и ES6 (более или менее) кажутся более серьезной проблемой. Я продолжаю получать это сообщение об ошибке:
API-интерфейс Fetch не может загружаться. Ответ на предполетный запрос не проверка контроля доступа: нет заголовка "Access-Control-Allow-Origin" присутствовать на запрошенном ресурсе. Origin 'http://127.0.0.1:3000' является поэтому не допускается доступ. В ответе был код статуса 501. Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса на "no-cors" для извлечения ресурса с отключенным CORS.
Я понимаю, что это потому, что я пытаюсь извлечь эти данные из моего локального хоста, и решение должно использовать CORS. Теперь я думал, что на самом деле это сделал, но почему-то это либо игнорирует то, что я пишу в заголовке, либо проблема - это что-то еще?
Итак, есть ли проблема с реализацией? Я делаю это неправильно? К сожалению, я не могу проверить журналы сервера. Я действительно немного застрял здесь.
function performSignIn() {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
headers.append('Access-Control-Allow-Origin', 'http://localhost:3000');
headers.append('Access-Control-Allow-Credentials', 'true');
headers.append('GET', 'POST', 'OPTIONS');
headers.append('Authorization', 'Basic ' + base64.encode(username + ":" + password));
fetch(sign_in, {
//mode: 'no-cors',
credentials: 'include',
method: 'POST',
headers: headers
})
.then(response => response.json())
.then(json => console.log(json))
.catch(error => console.log('Authorization failed : ' + error.message));
}
Я использую Chrome. Я также пробовал использовать этот плагин Chrome CORS, но потом я получаю еще одно сообщение об ошибке:
Значение заголовка "Access-Control-Allow-Origin" в ответе не должен быть подстановочным знаком '*', когда режим учетных данных запроса 'включают'. Origin 'http://127.0.0.1:3000' поэтому не допускается доступ. Режим учетных данных запросов, инициированных XMLHttpRequest контролируется атрибутом withCredentials.