如何使用ajax调用和普通php调用加载内容?
我已经创建了jqueryajax-callforphp页面,该页面通过根据从第一个页面接收到的id从数据库中选择数据来创建内容 当我单击person1时,第一个页面index.php有链接person1,它通过jquery重定向到详细信息页面。下面是代码:如何使用ajax调用和普通php调用加载内容?,php,ajax,Php,Ajax,我已经创建了jqueryajax-callforphp页面,该页面通过根据从第一个页面接收到的id从数据库中选择数据来创建内容 当我单击person1时,第一个页面index.php有链接person1,它通过jquery重定向到详细信息页面。下面是代码: $('.details').click(function() { $("a").removeClass("active"); $(this).addClass("active");
$('.details').click(function() {
$("a").removeClass("active");
$(this).addClass("active");
var id = $(this).attr("id");
$.ajax({
type: "GET",
url: "details.php",
data:{pid:id},
success: function(html){
$("#persons").html(html).fadeIn(1000);
}
});
return false;
});
内容将加载到index.php文件中:
<div class="row">
<div class="twelve columns" id="persons" style="display:none" >
</div>
</div>
详细信息页面的内容:
<?
if(isset($_GET['pid'])){
$id=(int)$_GET['pid'];
$sql="select id, name,title,details,image,cat from persons where id ='".$id."' order by name asc";
$rs=mysql_query($sql)or die(mysql_error());
if(list($id,$name,$title,$details,$image,$cat)=mysql_fetch_array($rs)){
?>
<h3><? echo $name;?></h3>
<h5><? echo $title;?></h5>
<p align="justify">
<img alt="<? echo $name;?>" src="images/persons/<? echo $image?>" title="<? echo $name;?>" style="float:right; margin-left:15px;" />
<? echo $details;?>
</p>
<?
}
}
?>
您可以检查以下变量:
$_SERVER['HTTP_X_REQUESTED_WITH']
对于AJAX请求,它应该是“xmlhttprequest”
但是,您可以简单地向URL添加一个参数:
url: "details.php?thisisanajaxrequest=1",
只需检查URL变量。以及如何在正常调用不是ajax的情况下将内容加载到div中?我真的不明白“正常调用”是什么意思。大多数时候都是这样的:-你有一个可以从AJAX调用的页面,或者只需使用其URL即可调用-页面代码中的第一件事是检查它是否是AJAX调用-如果是AJAX调用,只需提供相关内容(顺便说一句,这通常是JSON编码的)-如果是常规调用,呈现页面在您的情况下,这意味着呈现整个页面,同时从PHP填充DIV。如果您想在第一次加载页面时填充DIV,只需在body onload发出ajax调用,或者只需将内容归档到URL即可。