Javascript 如何在不刷新当前页面上的Youtube视频的情况下获取数据
我正在开发一个PHP应用程序,其中我正在我的网站上播放YouTube视频。每个视频的URL、开始时间和结束时间存储在数据库中,每30秒后,我检查数据库中的所有值,如果当前时间在任何行的开始时间和结束时间之间,如果是,则从该行获取URL并开始视频Javascript 如何在不刷新当前页面上的Youtube视频的情况下获取数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在开发一个PHP应用程序,其中我正在我的网站上播放YouTube视频。每个视频的URL、开始时间和结束时间存储在数据库中,每30秒后,我检查数据库中的所有值,如果当前时间在任何行的开始时间和结束时间之间,如果是,则从该行获取URL并开始视频 $retrieval = "select * from video where user_id=$id AND prog_id=$p"; $result= mysqli_query($db,$retrieval); if(mysqli_num_
$retrieval = "select * from video where user_id=$id AND prog_id=$p";
$result= mysqli_query($db,$retrieval);
if(mysqli_num_rows($result)>0){
while($row = mysqli_fetch_assoc($result)){
$fromTime = strtotime($row['start_time']);
$toTime = strtotime($row['end_time']);
$inputTimeT = strtotime($currTime);
if($inputTimeT >= $fromTime and $inputTimeT <= $toTime){
$url = $row['video_url'];
if(preg_match('/https:\/\/(www\.)*youtube\.com\/.*/',$url)){
// Fetch YouTube VideoID from URL
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match);
$youtube_id = $match[1];
?>
<iframe class="mainvideo" src="https://www.youtube.com/embed/<?php echo $youtube_id?>?autoplay=1&loop=1&playlist=<?php echo $youtube_id?>" frameborder="0" allowfullscreen></iframe>
<?php
}
else{?>
<video width="100%" src="<?php echo $row['video_url']?>" controls loop autoplay>
<!--ALTERNATE VIDEOS -->
</video>
<?php }
}
}
}
$retrieval=“从视频中选择*,其中用户id=$id和程序id=$p”;
$result=mysqli_查询($db,$retrieval);
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
$fromTime=STROTIME($row['start_time']);
$toTime=STROTIME($row['end_time']);
$inputTimeT=STROTIME($currTime);
如果($inputTimeT>=$fromTime和$inputTimeT
无论何时,只要您想在不重新加载负载的情况下获取数据,AJAX都会提供帮助
我会做的(不知道是最佳做法还是糟糕做法)是:
在其他php文件中生成我的服务器代码
将数据发送到该文件(如果需要)并使用ajax检索数据
在javaScript中更改HTML页面
您使用了正确的标记;您尝试的代码在哪里?通常您会做的是,将通过PHP从数据库中获取视频的逻辑放在一个单独的文件中,然后使用AJAX在原始文件和处理PHP的文件之间解析和检索数据。然后,您可以随时加载视频。Alte实际上,你可以用AJAX构建视频的所有内容。这样你就可以100%控制刷新什么和不刷新什么。我尝试在视频标签上加载jQuery AJAX,还复制了不同文件上的服务器代码,但每5秒钟刷新一次视频,而不是刷新页面。如果视频是相同的,我不希望刷新视频就像现在正在玩的一样。