sizinle aynı sayfayı aldım hocam
hocam, sizin kodlari calistirdim 1 tane sonuc donderiyor ve calisiyordu video urlsi geldi bende. Ek olarak kendime chatgptden ajaxli bitane kodlattim resimli vs, onu gondereyim bir bakin isterseniz

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>yt</title>
</head>
<body>
<form>
<label for="songName">Şarkı Adı:</label><br>
<input type="text" id="songName" name="songName"><br>
<button type="button" onclick="searchSong()">Ara</button>
</form>
<button id="prevButton" onclick="prevPage()" disabled>Önceki</button>
<button id="nextButton" onclick="nextPage()" disabled>Sonraki</button>
<ul id="songList"></ul>
<script>
let currentPageToken = '';
function searchSong() {
// Formdaki şarkı adını al
const songName = document.getElementById('songName').value;
// YouTube API kullanarak şarkıyı arayın
const query = `${songName} song`;
const url = 'https://www.googleapis.com/youtube/v3/search';
const params = {
part: 'snippet',
type: 'video',
q: query,
key: 'apikeyiniz',
maxResults: 20,
pageToken: currentPageToken
};
// HTTP GET isteği gönderin
const xhr = new XMLHttpRequest();
xhr.responseType = 'json';
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
// Cevapları işleyin ve şarkı linklerini listeleyin
const response = xhr.response;
currentPageToken = response.nextPageToken;
const songList = response.items.map((item) => {
return `
<li>
<a href="https://www.youtube.com/watch?v=${item.id.videoId}">
<img src="${item.snippet.thumbnails.default.url}" alt="${item.snippet.title}" />
${item.snippet.title}
</a>
</li>
`;
});
document.getElementById('songList').innerHTML = songList.join('');
// "önceki" ve "sonraki" düğmelerini güncelleyin
document.getElementById('prevButton').disabled = !response.prevPageToken;
document.getElementById('nextButton').disabled = !response.nextPageToken;
}
};
xhr.open('GET', url + '?' + new URLSearchParams(params));
xhr.send();
}
function prevPage() {
currentPageToken = 'PREV_PAGE_TOKEN';
searchSong();
}
function nextPage() {
currentPageToken = 'NEXT_PAGE_TOKEN';
searchSong();
}
</script>
</body>
</html>