Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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
AJAX和php包括_Php_Ajax - Fatal编程技术网

AJAX和php包括

AJAX和php包括,php,ajax,Php,Ajax,我有一个加载多个页面的脚本(views/home.php、views/about.php、views/contact.php等): 但它只适用于html,例如Home 现在,我将向该页面添加一些变量。例如,在setup.php中有一个变量$page。如何显示$page['title'] 我尝试了include('config/setup.php')但它不起作用 我还在.js文件中尝试了这个方法:$.get('config/setup.php',{x:y}),但我不知道如何传递这些变量,以及最好的

我有一个加载多个页面的脚本(views/home.php、views/about.php、views/contact.php等):

但它只适用于html,例如
Home

现在,我将向该页面添加一些变量。例如,在setup.php中有一个变量$page。如何显示
$page['title']

我尝试了
include('config/setup.php')但它不起作用

我还在.js文件中尝试了这个方法:
$.get('config/setup.php',{x:y}),但我不知道如何传递这些变量,以及最好的方法是什么

编辑-导航:

<?php

try{
$pdo = new PDO("mysql:host=localhost;dbname=mysite", 'root','root');
}

catch(PDOException $e) {
echo $e->getMessage();
}

$sql = "SELECT * FROM posts ORDER BY id";
$stmt = $pdo->prepare($sql);
$stmt->execute();

?>

<ul class="nav navbar-nav" id="nav">

<?php
while ($row = $stmt->fetch(PDO::FETCH_OBJ)) {
    $sub_sql = "SELECT * FROM submenu WHERE cat_id=:id";
    $sub_stmt = $pdo->prepare($sub_sql);
    $sub_stmt->bindParam(':id',$row->id,PDO::PARAM_INT);
    $sub_stmt->execute();

    ?>
    <li class="dropdown <?php selected($path['call_parts'][0], $row->slug, 'active') ?>"><a href="<?php echo $row->slug; ?>" rel="<?php echo $row->title; ?>"><?php echo $row->title; ?></a>
    <?php
    if($sub_stmt->rowCount()) {
        ?>
        <ul class="dropdown-menu" role="menu">
        <?php

        while ($sub_row = $sub_stmt->fetch(PDO::FETCH_OBJ)) {
            ?>
            <li><a href="<?php echo $sub_row->href; ?>"><?php echo $sub_row->sub_name; ?></a></li>
            <?php
            }

        ?>
        </ul>
        <?php
        }
    ?>
    </li>
    <?php
    }
?>

</ul>

    确保jQueryAjax语句中有“json”

    php:
    $myVar = $_POST['myVar'];
    echo json_encode(array( "var_1"=>$var1, "var_2"=>$var2 ));
    
    
    javascript:
    var myVar = 'xyz';
    $.post('config/setup.php', { myVar:myVar }, function(data) {
    
            var var_1 = data.var_1,
                var_2 = data.var_2; //<< matches w/ php above
    
    }, "json");
    
    php:
    $myVar=$_POST['myVar'];
    echo json_encode(数组(“var_1”=>$var1,“var_2”=>$var2));
    javascript:
    var myVar='xyz';
    $.post('config/setup.php',{myVar:myVar},函数(数据){
    var var_1=data.var_1,
    
    var_2=data.var_2;//当视图文件中包含
    include('config/setup.php');
    时,它会做什么?这就是它的工作原理,您不会通过javascript调用安装文件。因此,如果不刷新页面,就无法加载动态内容。我总是会得到以下选项之一:1)只有静态内容,没有页面刷新;或者2)动态内容,没有页面刷新。我想要的是:3)动态内容,没有刷新:)编辑:我也可以在每个页面上单独执行db查询,从db中获取内容。但这是唯一的方法吗?只有刷新页面才有效。这就是全部要点。无论我尝试什么,我总是能得到其中一个:1)打开我想要的是:3)动态内容,不刷新:)编辑:我也可以在每个页面上分别执行db查询以从db获取内容。但这是唯一的方法吗?我不理解您的期望。1)我想在页面之间切换,而不必重新加载页面。2)我我希望此页面包含一些动态内容。3)我还希望保持内容的有序性,这样我就不需要在每个页面上进行db查询。上面的ajax代码可以做到这一点。您打算如何切换内容?单击一个按钮?
    php:
    $myVar = $_POST['myVar'];
    echo json_encode(array( "var_1"=>$var1, "var_2"=>$var2 ));
    
    
    javascript:
    var myVar = 'xyz';
    $.post('config/setup.php', { myVar:myVar }, function(data) {
    
            var var_1 = data.var_1,
                var_2 = data.var_2; //<< matches w/ php above
    
    }, "json");