jquerypjax与php。重新加载时没有内容

jquerypjax与php。重新加载时没有内容,php,jquery,ajax,dynamic,pjax,Php,Jquery,Ajax,Dynamic,Pjax,我尝试使用jQueryPJAX在一个div中加载我的内容。这很好,但是如果我重新加载页面,我就没有内容了。我想我需要将页面内容放在else{部分,但我不想将整个html设置在php变量中。如何解决这个问题 index.php: <?php $title = 'Home'; if(isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == 'true'){ ?> <div

我尝试使用jQueryPJAX在一个div中加载我的内容。这很好,但是如果我重新加载页面,我就没有内容了。我想我需要将页面内容放在else{部分,但我不想将整个html设置在php变量中。如何解决这个问题

index.php:

<?php
    $title = 'Home';
    if(isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == 'true'){ ?>
        <div id="content">
            <h1>home</h1>
        </div>
    <?php echo "<title>{$title}</title>";
    }else{
        include 'wrapper.php';
    }
?>
page1.php

<?php if(isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == 'true'){  ?>
    <div id="content">
        <h1>Page 1</h1>
    </div>
<?php } else{ include 'wrapper.php';} ?> 

第1页
page2.php

<?php if(isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == 'true'){
?>
    <div id="content">
        <h1>Page 2</h1>
    </div>
<?php }else{
    include 'wrapper.php';
}
?>

第2页

只有在请求页面时才包含wrapper.php,而没有PJAX(=正常方式)。在wrapper.php中,内容为空

在wrapper.php中,如果请求源不是PJAX,则应包含正确的页面:

首先,您应该重命名一些文件。使用index.php作为主布局文件(您打算对包装器执行的操作)。添加p as query参数(可以在php中读取true
$\u GET
)以在单击链接时加载页面

创建一个home.php文件,该文件将作为默认页面加载到index.php的
#content

index.php

<ul class="nav navbar-nav" style='margin-left:20px;'>
    <li><a href='index.php' data-pjax='content'>Home</a></li>
    <li><a href='index.php?p=1' data-pjax='content'>Demo 1</a></li>
    <li><a href='index.php?p=2' data-pjax='content'>Demo 2</a></li>
</ul>
<div id="content">
    <?php if(!isset($_SERVER['HTTP_X_AJAX'])) {
        if(!isset($_GET['p'])) {
            include('home.php');
        }
        else {
            include('page'.$_GET['p'].'.php');
        }
    } ?>
</div>
这是一个非常简单的例子。在实时应用程序中,应该用另一种方式来保护脚本免受某些攻击

我猜你是初学者。请看一下CodeIgniter。它是一个框架,有很多现成的功能。它被证明是“容易”学习的

<?php if(isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == 'true'){
?>
    <div id="content">
        <h1>Page 2</h1>
    </div>
<?php }else{
    include 'wrapper.php';
}
?>
<ul class="nav navbar-nav" style='margin-left:20px;'>
    <li><a href='index.php' data-pjax='content'>Home</a></li>
    <li><a href='index.php?p=1' data-pjax='content'>Demo 1</a></li>
    <li><a href='index.php?p=2' data-pjax='content'>Demo 2</a></li>
</ul>
<div id="content">
    <?php if(!isset($_SERVER['HTTP_X_AJAX'])) {
        if(!isset($_GET['p'])) {
            include('home.php');
        }
        else {
            include('page'.$_GET['p'].'.php');
        }
    } ?>
</div>