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 (Full demo here)

上找到

基本上,我想要实现的是将 ID 从我的数据库推送到列表。我创建了一个 json,其中列出了所有 ID here

有了这个 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!'); }
});