AJAX和php包括
我有一个加载多个页面的脚本(views/home.php、views/about.php、views/contact.php等): 但它只适用于html,例如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}),但我不知道如何传递这些变量,以及最好的
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");