Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 注入php元素后重新加载窗口DOM_Javascript_Php_Jquery - Fatal编程技术网

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

Javascript 注入php元素后重新加载窗口DOM,javascript,php,jquery,Javascript,Php,Jquery,我在php文件中有两个不同的播放列表,我有两个按钮playl1和playl2 <div class="player"> <?php include ('playlist1.php');?> <?php include ('playlist2.php');?> </div> 如果我在主页中单击播放列表1,它必须在加载页面之前重新加载并附加 如果我在主页中单击播放列表2,它必须在加载页面之前重新加载并附加 我尝试了一些东西,但没有

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

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

如果我在主页中单击播放列表1,它必须在加载页面之前重新加载并附加

如果我在主页中单击播放列表2,它必须在加载页面之前重新加载并附加

我尝试了一些东西,但没有成功

$( "playlist1" ).click(function() {
    var append_php = "<?php include ('playlist2.php');?>";
    $('#playlist').append("<div id='playlist2'>"+append_php+"</div>");
});
$(“播放列表1”)。单击(函数(){
var append_php=“”;
$(“#播放列表”).append(“+append_php+”);
});

您试图用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>


这基本上检查查询字符串,然后根据您传递的内容呈现
playli1.php
playli2.php
中的内容。默认情况下,它呈现
playli1.php
。它假设您正在运行的PHP文件名为
index.PHP

,您试图用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>


这基本上检查查询字符串,然后根据您传递的内容呈现
playli1.php
playli2.php
中的内容。默认情况下,它呈现
playli1.php
。它假设您正在运行的PHP文件名为
index.PHP

谢谢,当用户单击播放列表1或播放列表时,如何重新加载页面2@techies
下面的链接可以做到这一点,谢谢,当用户单击播放列表1或播放列表时,如何重新加载页面2@techies
下面的链接可以做到这一点