注入php元素后重新加载窗口DOM

时间:2016-03-18 04:16:23

标签: javascript php jquery

我在php文件中有两个不同的播放列表,我有两个按钮playlist1和playlist2。

<div class="player">
    <?php include ('playlist1.php');?>
    <?php include ('playlist2.php');?>
</div>

如果我点击主页中的 playlist1 ,则必须重新加载并在页面加载前附加<?php include ('playlist1.php');?>

如果我点击主页中的 playlist2 ,则必须重新加载并在页面加载前附加<?php include ('playlist2.php');?>

我尝试过但没有运气。

$( "playlist1" ).click(function() {
    var append_php = "<?php include ('playlist2.php');?>";
    $('#playlist').append("<div id='playlist2'>"+append_php+"</div>");
});

1 个答案:

答案 0 :(得分:0)

你试图在Javascript中发出PHP指令,这些指令永远不会起作用。请记住,Javascript在客户端上运行(即在用户计算机上的Web浏览器上运行),PHP在服务器上运行 。因此,您无法直接在客户端上呈现PHP - 它必须在服务器上运行。

在服务器上运行需要您导航到另一个页面(可能使用查询字符串来选择要呈现的播放列表)或者使用AJAX来调查。

鉴于你说:

  

如果我点击主页中的播放列表1,则必须重新加载并附加前页面加载。

     

如果我点击主页中的播放列表2,则必须重新加载并附加前页面加载。

我建议您将PHP更改为如下所示:

<div class="player">
    <?php
        $playlist = isset($_GET['playlist']) ? $_GET['playlist'] : '1';
        include("playlist".$playlist."php")
    ?>
</div>
<a href="index.php?playlist=1">Playlist 1</a>
<a href="index.php?playlist=2">Playlist 2</a>

这基本上会检查查询字符串,然后根据您传递的内容呈现playlist1.phpplaylist2.php中的任何内容。默认情况下,它会呈现playlist1.php。它假定您运行的PHP文件名为index.php