ajax/jQuery Youtube 播放列表推送


ajax/jQuery Youtube playlist push

所以我目前有这个PHP脚本来获取mySQL数据库中设置的Youtube IDS。这个PHP脚本列出了数据库中的所有Youtube ID。

.PHP

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "songrequests";
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    $sql = "SELECT * FROM test";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo "song: " . $row["link"]. "<br>";
        }
    } else {
        echo "0 results";
    }
    $conn->close();
    ?>

好的,之后,我找到了这个将 Youtube ID 推送到播放列表的脚本,这可以在 jsFiddle 上找到(完整演示在这里)

所以基本上,我试图实现的是将 ID 从我的数据库推送到列表。我创建了一个 json,它在此处列出了所有 ID

使用这个 ajax,我试图将 ID 从 json 推送到列表中,但它似乎不起作用。

.JS

       $.ajax({
            url: 'http://dj.aotikbot.tv/songlist.php',
            type: 'GET',
            dataType: 'json',                                                                                                                                                                                                
        success: function(data) { 
        console.log(data.songs.length); 
        if (data.songs.length != 0) {
                for (var x = 0; x < data.songs.length; x++) {
                ytplayer_playlist.push("'" + data.songs[x].link + "'");
            }
            } 
        },                                                                                                                                                                                       
        error: function() { console.log('Uh Oh!'); },      
        }); 

如果您需要有关我正在尝试做什么的更多信息,请告诉我。提前谢谢。

所以,根据我们的聊天,JSONP是你所追求的。下面的代码应该可以工作。看一看。

var playlist = [];
$.ajax({
    url: 'http://dj.aotikbot.tv/songlist.php?callback=?',
    type: 'GET',
    async: false, //evil, but you needed this!
    dataType: 'json',                                                                                                                                                                                                
    success: function(data) { 
        if (data.songs.length > 0) {
            $.each(data.songs, function() {
               playlist.push(this.link);
            });
        }
        console.log("Here is your playlist");
        console.log(playlist);
    },                                                                                                                     
    error: function() { console.log('Uh Oh!'); }
});