Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript没有';我不能在ajaxpost上工作_Javascript_Jquery_Youtube_Youtube Api_Youtube Javascript Api - Fatal编程技术网

Javascript没有';我不能在ajaxpost上工作

Javascript没有';我不能在ajaxpost上工作,javascript,jquery,youtube,youtube-api,youtube-javascript-api,Javascript,Jquery,Youtube,Youtube Api,Youtube Javascript Api,我使用的是Youtube Iframe API,使用他们的脚本,播放器可以正常加载。但是,当我对包含javascript代码的php文件进行ajax调用以运行播放器时,它不会执行 function get_content(song_id,url,song_title) { if (song_id == null) return; document.title = song_title + browser_title_suffix; $.get('/ajax/player.

我使用的是Youtube Iframe API,使用他们的脚本,播放器可以正常加载。但是,当我对包含javascript代码的php文件进行ajax调用以运行播放器时,它不会执行

function get_content(song_id,url,song_title) {
if (song_id == null)
    return;
    document.title = song_title + browser_title_suffix;
    $.get('/ajax/player.php',{song_id:song_id}, function(data) {
        $('#main_content').html(data).css({'opacity':0}).animate({'opacity':1});
        });
        }
/ajax/player.php包含以下代码-

然而,玩家不会再这样做了。我甚至试过player.remove(),但也没用

更新1: 我的PHP文件:


但是,视频播放器不会加载。

您无法通过ajax获取javascript,然后运行刚刚收到的javascript。您只需通过ajax发送youtube视频id,然后使用如下函数放置播放器:

function get_content(song_id,url,song_title) {
    if (song_id != null) {
        $.get('/ajax/player.php',{song_id:song_id}, function(data) {
            video_id = data;

            player = new YT.Player('player', {
                height: '390',
                width: '640',
                videoId: video_id,
                events: {
                    'onReady': onPlayerReady,
                    'onStateChange': onPlayerStateChange
                }
            });
        });
    }
}

更好的办法是,尝试使用JSON通过Jquery发送和接收数据。

控制台中有什么东西吗?加载的PHP是否直接显示正确的数据?不,控制台中没有任何内容,当PHP第一次加载数据时,一切正常。当我想加载新内容时,它就不起作用了。嘿,谢谢你的回复。我遵循了你的建议,但它不会触发玩家加载。我已经在update 1下发布了更新。我在控制台中收到以下错误:UncaughtReferenceError:YT没有定义好,所以请确保在使用它时定义了它。。。没有足够的代码供我们进一步帮助。
function get_content(song_id,url,song_title) {
if (song_id != null) {
    $.get('/ajax/player.php',{song_id:song_id}, function(data) {
        video_id = data;
        player = new YT.Player('player', {
            height: '390',
            width: '640',
            videoId: video_id,
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
            }
        });
    });

}
}
function get_content(song_id,url,song_title) {
    if (song_id != null) {
        $.get('/ajax/player.php',{song_id:song_id}, function(data) {
            video_id = data;

            player = new YT.Player('player', {
                height: '390',
                width: '640',
                videoId: video_id,
                events: {
                    'onReady': onPlayerReady,
                    'onStateChange': onPlayerStateChange
                }
            });
        });
    }
}