Клиентский запрос поиска конечной точки заблокирован CORS im с использованием github.io и XMLHttpRequest
Я использую GitHub.io
, поэтому я выполняю вызов на стороне клиента после пользователяпрошел проверку подлинности.
Я попытался добавить request.open ('GET', searchParam, true);
request.withCredentials = true;
безуспешно мой простой запрос GET блокируется CORS
var urlParams = new URLSearchParams(window.location.search);
var authorizationBasic = urlParams.get('code');
Мой токен авторизации находится в заголовке URL.
КОД:
try{
var urlParams = new URLSearchParams(window.location.search);
var authorizationBasic = urlParams.get('code');
var uri = "https://api.spotify.com/v1/search?q=";
var str = "bach";
var searchParam = encodeURIComponent(str);
var request = new XMLHttpRequest();
request.open('GET', uri+searchParam, true);
request.withCredentials = true;
request.setRequestHeader('type', 'track');
request.setRequestHeader('Authorization', 'Bearer' +
authorizationBasic);
request.send();
request.onreadystatechange = function () {
if (request.readyState === 4) {
alert(request.responseText);
}
};
}
catch(error){
alert(error.message);
}
Ожидается =
{
"tracks": {
"href": "https://api.spotify.com/v1/search?query=bach&type=track&market=AR&offset=0&limit=20",
"items": [
{
"album": {
"album_type": "album",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0wn2qDKzeFlhjRUtJAwJjp"
},
"href": "https://api.spotify.com/v1/artists/0wn2qDKzeFlhjRUtJAwJjp",
"id": "0wn2qDKzeFlhjRUtJAwJjp",
"name": "Bandalos Chinos",
"type": "artist",
"uri": "spotify:artist:0wn2qDKzeFlhjRUtJA..........
Фактический результат
Доступ к XMLHttpRequest в 'https://api.spotify.com/v1/artists/43ZHCT0cAZBISjO8DG9PnE/related-artists'Из источника «https: /gitHubName.github.io» был заблокирован политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: значение заголовка «Access-Control-Allow-Origin» в ответе не должнобыть подстановочным знаком '*', когда режим учетных данных запроса - «включить».Режим учетных данных запросов, инициируемых XMLHttpRequest, контролируется атрибутом withCredentials.