2012-07-31 29 views
0

我已經創建了jQuery的AJAX調用的PHP頁面,通過基於它從第一頁如何使用ajax調用和普通的php調用來加載內容?

第一頁的index.php有鏈接PERSON1接收ID選擇從數據庫中的數據創建內容,當我點擊PERSON1重定向通過jQuery來這裏詳細信息頁面的代碼是:

$('.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> 
    <? 
    } 
    } 
?> 

如何檢查頁面是否通過ajax調用或正常的PHP調用請求?如果不是ajax調用,請正常加載詳細信息頁面的內容?

回答

0

您可以檢查以下變量:

$_SERVER['HTTP_X_REQUESTED_WITH'] 

它應該是AJAX請求 '的XMLHttpRequest'。

但是,您也可以直接在參數添加到URL:

url: "details.php?thisisanajaxrequest=1", 

,簡單查詢的網址變量。

+0

以及如何在正常調用不是ajax的情況下將內容加載到div中? – 2012-07-31 00:53:46

+0

我真的不明白你的意思是「普通電話」。 這是它看起來像大部分時間的樣子: - 您有一個可以從AJAX調用的頁面或者僅僅通過使用它的URL - 頁面代碼中的第一件事是檢查它是否是AJAX調用 - 如果它是一個AJAX調用,只是提供相關內容(順便說一下,這通常是JSON編碼的東西) - 如果它是一個普通的調用,渲染頁面 在你的情況,這將意味着渲染整個頁面,同時也填充從PHP的DIV。 – 2012-07-31 00:55:20

+0

如果你想在第一次加載頁面時填充你的div,只需在body onload時發出一個ajax調用,或者你可以只用file_get_contents這個URL。 – 2012-07-31 01:05:53