2014-02-26 183 views
0

我有這個PHP代碼,從數據庫檢索信息取決於圖像ID存在。它工作正常,現在我試圖把它變成一個Ajax請求,所以它加載到一個頁面上。我努力發送變量,ajax請求似乎正常工作,因爲它發送到頁面並檢索信息,但它沒有發送變量,所以返回的信息是空白的。Ajax獲取請求使用錨點發送請求 - 不發送變量

我一直在跟隨教程,試圖根據自己的需要調整它,並開始隨着它的結束而崩潰。

任何幫助將不勝感激!

這裏是我的html:

//these anchors are meant to send the value attribute through the ajax using showEp() 
//I believe it's here that the request is falling down. 
<a href="#" value="<?php echo $ep['ep_id'];?>" onclick="showEp(this.value)"><img src="images/Database/releases/<?php 
    if(isset($ep['ep_img'])){ 
     echo $ep['ep_img']; 
    } else { 
     echo 'no_EP.png'; 
    } 
    ?> " height="125" width="125"/></a> 
<div id="ep"></div> 

這裏是我的javascript:

function showEp(str) 
{ 
if (str=="") 
    { 
    document.getElementById("ep").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("ep").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","showep.php?ep_id="+str,true); 
xmlhttp.send(); 
} 
return false; // to disable the link from following it's href. 

回答

0

我發現用的是value屬性,它不是真正的問題錨標記的屬性 - 如果我錯了,請糾正我。

經過一些額外的研究,我發現如果我使用name屬性,那麼它工作得很好。

下面是修改後的代碼:

<a href="#" name="<?php echo $ep['ep_id'];?>" onclick="showEp(this.name)"><img  src="images/Database/releases/<?php 
if(isset($ep['ep_img'])){ 
    echo $ep['ep_img']; 
} else { 
    echo 'no_EP.png'; 
} 
?> " height="125" width="125"/></a> 

我仍然需要防止鏈路的默認操作,但我很開心就好了AJAX功能正在工作。

0

試試這個:

<?php 
if(isset($ep['ep_img'])){ 
    $img = $ep['ep_img']; 
} else { 
    $img = 'no_EP.png'; 
} 
?> 

<a href="#" value="<?php echo $ep['ep_id'];?>" onclick="showEp(this.value)"> 
    <img src="images/Database/releases/<?php echo $img;?>" height="125" width="125"/> 
</a>