Я хотел бы понять, почему не работает служба AngularJS $ http и работает API fetch .
Ниже приведен код AngularJS:
const $http = angular.element(document.body).injector().get('$http')
$http({
method: 'GET',
url: 'http://192.168.1.126:8080/saiku/rest/saiku/admin/datasources/',
headers: {
'Authorization': 'Basic YWRtaW46YWRtaW4='
}
})
Это дает мне эту ошибку:
angular.js: 12845 ОПЦИИ http://192.168.1.126:8080/saiku/rest/saiku/admin/datasources/ 403 ()
Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Происхождение 'http://localhost:8081' поэтому не разрешено. Ответ имеет HTTP-код состояния 403.
Странная часть в том, что это:
fetch('http://192.168.1.126:8080/saiku/rest/saiku/admin/datasources/', {
method: 'GET',
headers: {
'Authorization': 'Basic YWRtaW46YWRtaW4='
}
}).then((r) => r.json()).then(console.log)
дает мне правильный ответ
Я знаю, что это может быть ошибка CORS, но я добавил фильтр CORS на свой кот, чтобы все работало (и выборка работала).
Это ошибка в fetch или в $ http?