iTunes Search Api
возвращает файл вместо простого JSON. Вы можете получить данные с помощью JSONP
запроса. Вы не можете вызвать их с помощью API выборки.
Вам необходимо динамически создать тег сценария с помощью URL-адреса src
и функции обратного вызова.
JSONP означает JSON с отступом. Запрос файла из другого домена может вызвать проблемы из-за междоменной политики. Запрос внешнего сценария из другого домена не имеет этой проблемы. JSONP использует это преимущество и запрашивает файлы, используя тег script вместо объекта XMLHttpRequest
JSONP
вызовет обратный вызов после завершения загрузки файла.
Пример:
function clickButton() {
var s = document.createElement("script");
s.src = "https://itunes.apple.com/search?term=ATB&limit=2&callback=callbackHandler";
document.body.appendChild(s);
}
function callbackHandler(data) {
console.log(data);
}
<button type="button" onclick="clickButton()">Get Data</button>
Для этого вы также можете использовать сторонние библиотеки. fetch-jsonp
Вы также можете использовать метод JQuery
getJSON
для получения данных из API.
Пример:
function clickButton() {
let url = "https://itunes.apple.com/search?term=ATB&limit=2&callback=?";
$.getJSON(url, function(data) {
console.log(data);
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" onclick="clickButton()">Get Data</button>