尝试将.php文件中的数据传递到.js文件

时间:2015-12-26 15:38:28

标签: javascript php html

我正在尝试建立一个有视频版块的网站。我遇到的问题是,为了更改“.video-player”中的视频。我需要将数据库中的数据(视频名称)从我的index.php文件传递到我的scriptz.js文件。

我到目前为止尝试的是在div中回显这些数据并使用javascript中的document.getElementbyId检索它,这似乎不起作用。这是代码

INDEX.php

<ul class="video-list">
<?php
while($videotemp=mysql_fetch_array($ris))
{
?>
    <li class="video-element">
        <div class="image-duration">
            <img class="video-thumbnails" src="images/<?php echo $videotemp["thumbnails"] ;?>"/>
            <p class="duration"><?php echo number_format($videotemp["duration"]/100,0);?>:<?php echo $duration2=$videotemp["duration"]%100; ?></p>
        </div>
        <p class="video-title"><?php echo $videotemp["author"];?> - <?php echo $videotemp["name"] ;?></p>
        <div id="source"><?php echo $videotemp["source"]  ?></div>
    </li>
<?php   
}
?>
</ul>

<video id="video-player"  preload="auto" data-setup="{}"  controls  >
    <source id="mp4" src="" type="video/mp4" />
    <source id="ogv" src="" type="video/ogv" />
    <source id="webm" src="" type="video/webm" />
</video>

Cese.css

#source{
visibility:hidden;
}

Scriptz.js

$('.video-element').click(function(){
        var $videosource=document.getElementById("source");

            document.getElementById('mp4').setAttribute('src','videos/'+$videosource + ".mp4");
            document.getElementById('ogv').setAttribute('src','videos/'+$videosource + ".ogv");
            document.getElementById('webm').setAttribute('src','videos/'+$videosource + ".webm");
            $("#video-box")[0].load();

    });

任何建议,提前谢谢。

2 个答案:

答案 0 :(得分:3)

添加innerHTML。

您希望ID内的字符串不是ID本身。

所以:var $ videosource = document.getElementById(&#34; source&#34;)。innerHTML;

答案 1 :(得分:0)

您需要查看XMLHttpRequests

您可以将这些用于jQuery.ajax,如下所示:

您可以创建一个PHP页面并将其格式化为JSON,然后返回视频所需的数据。

以下是一个示例:https://jsfiddle.net/ianjamieson/dcz4jed3/2/

$(document).ready(function() {
    $('[data-videoId]').on('click', function() {
    $.ajax({
        type: 'GET',
        url: '/echo/json/', // this would be your data.php page
      data: { // this is like adding ?videoId=1234 to data.php
        videoId: $(this).data('videoId')
      },
      dataType: 'json',
      success: function(json) {
        // json will now contain your video information
        console.log(json);
      }
    });
  });
});


/*
    data.php would need to use PHP function:
  json_encode($phpArray);
*/