【问题标题】:How can I get the jQuery variable from the link of the displayed YouTube video into PHP to send to a database?如何从显示的 YouTube 视频链接中获取 jQuery 变量到 PHP 中以发送到数据库?
【发布时间】:2025-12-06 14:20:04
【问题描述】:

您好,我正在制作一个 jQuery YouTube 搜索和显示 Web 应用程序,我需要使用 PHP 将特定视频的链接发送到数据库。

在应用程序中,用户搜索视频,该视频的唯一代码使用“id”变量插入到设置的 YouTube 链接中。我想捕获完整链接(包括唯一 ID)并将其放入数据库中,而无需打开新页面(我认为 AJAX 就是这样做的)。

这里有一些类似问题的链接,但它们对我没有用。 (getting youtube video id the PHPHow do I find all YouTube video ids in a string using a regex?https://*.com/questions/19977278/how-to-get-php-data-in-javascriptData transfer from JavaScript to PHPhttp://www.webdeveloper.com/forum/showthread.php?249863-pass-jquery-value-to-php-variable(对于大量的链接感到抱歉,Stack 告诉我如果它们相似并且不起作用,就包括它们))

到目前为止,这是使它工作的代码。

<script type="text/javascript">
//on thumbnail click
$videoDiv.click(function(e) {
    displayVideo(entry.media$group.yt$videoid.$t, entry.title.$t);
});


//Display the video
function displayVideo(id, title) {
//embed player
    swfobject.embedSWF('http://www.youtube.com/e/' + id + '?enablejsapi=1&playerapiid=ytplayer&autoplay=1',
    'video-placeholder', '544', '408', '9.0.0', null, null, { allowScriptAccess: "always" },
    { id: "youtubevideo" } );
}
</script>

显然,这不是全部功能,但希望它应该足够了。

请帮帮我,我已经没有地方可以查看了。

嗨尼克拉斯,

感谢您回答我,我已经尝试过了,结果发现我的代码有点复杂,无法做到这一点。

我的大学项目还需要将信息发送到视频所在的页面,目前我有一页上的用户表单和搜索 YouTube 并显示用户信息以及视频的代码下一页(外部)。

不幸的是,AJAX 仍然是我还没有学过的语言之一,所以你链接到我的文档没有多大意义。

我的代码非常复杂,因为它使用 YouTube API 以及 JavaScript、jQuery 和 PHP。用于此的主要 js 文件搜索 YouTube,一旦用户单击缩略图,它就会启动 displayVideo 功能,该功能还包含上一页中的信息。

在用户选择视频后,我无法将用户重定向到新页面,只是为了将 id 导入 PHP,因为当用户被重定向回 YouTube 表单时,这会擦除第一个表单中的数据。

希望你能帮帮我。

【问题讨论】:

  • 如果我理解正确,你只需要在 php 文件上发出 AJAX 请求。
  • 这不是问题,而是代码请求。

标签: php jquery youtube youtube-api youtube-javascript-api


【解决方案1】:

回答

好吧,我明白你在问什么。你会做这样的事情:

<script type="text/javascript">
$(function() {
    //on thumbnail click
    $videoDiv.click(function(e) {
        var videoURL = displayVideo(entry.media$group.yt$videoid.$t, entry.title.$t);
        $.post('url-to-your-php-file', {videoURL: videoURL}, function(response) {
            // Do stuff with the response given/echoed by the PHP file
        });
    });


    //Display the video
    function displayVideo(id, title) {
        //embed player
        var videoURL = 'http://www.youtube.com/e/' + id + '?enablejsapi=1&playerapiid=ytplayer&autoplay=1';
        swfobject.embedSWF(videoURL,
        'video-placeholder', '544', '408', '9.0.0', null, null, { allowScriptAccess: "always" },
        { id: "youtubevideo" } );
        return videoURL;
    }
});
</script>

希望这会有所帮助,祝你好运!


修改问题前回答

我不会为你编写代码,但你的想法是对的,我会给你一些可能有帮助的链接。您需要对保存数据库链接的 PHP 文件进行 AJAX 调用。

AJAX 调用

您正在使用 jQuery,这使得 AJAX 调用变得非常容易。看看jQuery .ajax() documentation。尽管在这种情况下,您需要进行一个非常小且“不高级”的调用,但速记包装函数 .post() 将非常适合您。

在 PHP 中检索链接

之后,您可以使用全局 $_POST variable 在 PHP 中检索链接。

将链接添加到数据库

为了将其添加到数据库中,我建议使用PHP PDO library 进行连接和查询。

希望这会有所帮助,如果您有任何疑问,请不要犹豫!

【讨论】:

  • 感谢 Niklas,请参阅上面修改后的问题。
  • 我的答案现已更新。请同时编辑您的实际问题(不仅仅是标题)。这将使我能够取消我的反对票,并使可能阅读它的其他人更清楚这个问题。
  • 再次编辑。在代码周围添加了$(function() { ... }); 包装器,以便它等待文档准备好。
  • 非常感谢 Niklas,它工作得非常出色。 :D 我会投票给你的答案,但我还没有足够的声誉。 :)
  • 没关系,做了 15 次。因为你接受了我的回答:) 但是可以肯定的是,只要你有足够的声誉,也可以随时投票;)
最近更新 更多