2014-01-22 98 views
0

問:我無法找到我的代碼沒有工作的原因。Ajax/PHP:返回值

的index.php

while($row = mysqli_fetch_array($result)) 
{ 

$Tri_CAPTION=$row['BOOKCAPTION']; 
$Tri_IMAGE=$row['BOOKIMAGE']; 
$BOOKT=$row['BOOKTITLE']; 
$BOOKID=$row['BOOKID']; 
$html = $Tri_IMAGE; 
$doc = new DOMDocument(); 
$doc->loadHTML($html); 
$xpath = new DOMXPath($doc); 
$src = $xpath->evaluate("string(//img/@src)"); # "/images/image.jpg" 


echo "<div class=\"mybooks\"> 
<a href=\"".$src."\" data-title=\"$BOOKT\" data-lightbox=\"example-3\" alt=\"Home\"> 
<img src=\"".$src."\" width=\"150\" height=\"150\"/> 
</a> 
<br /> 
Title:<strong> 
".$BOOKT."</strong> 
<br /> 

<a onClick=\"forusedata($BOOKID);\" href=\"#\">View Book</a> 

</div>"; 
    } 
?> 

阿賈克斯:

<script>  
    function forusedata(newid) 
    {   

$.post('insert_home.php',{newid:newid}).done(function(data){ 
    alert(data); 

    }); 
     $('#Page1').dialog('open'); 
    } 

</script> 

insert_home.php

else if(isset($_POST['newid'])) 
{ 
$newid = ($_POST['newid']); 

$result = mysqli_query($con,"SELECT BOOKCAPTION FROM book WHERE BOOKID='$newid'"); 
while($row = mysqli_fetch_array($result)){ 
echo $row['BOOKCAPTION']; 
} 
mysqli_close($con); 
} 
+0

讓我們從基礎開始。應該發生什麼,實際發生了什麼?將任何錯誤消息添加到您的問題。檢查服務器錯誤日誌並添加您在其中找到的任何相關錯誤。 – 2014-01-22 22:43:39

+0

它shoukd輸出html標籤,因爲html標籤是BOOKCAPTION的內容,會發生什麼,它不會輸出任何東西 – user3196424

回答

0

爲什麼與其他人,如果你的insert_home.php代碼開始?上面有什麼遺漏嗎?既然你不說什麼實際上不起作用,我會猜測你沒有收到任何警報數據。

我想你insert_home.php更改爲:

if(isset($_POST['newid'])) { 
    $newid = ($_POST['newid']); 
    $result = mysqli_query($con,"SELECT BOOKCAPTION FROM book WHERE BOOKID='$newid'"); 
    while($row = mysqli_fetch_array($result)){ 
     echo $row['BOOKCAPTION']; 
    } 
    mysqli_close($con); 
} 
else { 
    echo ('no results'); 
} 

這將讓你知道,如果這個問題是在阿賈克斯還是在insert_home.php頁。

+0

我得到了很多代碼在頂部,我拉索得到了其他語句 – user3196424

+0

警報(數據)不起作用,因爲在沒有輸出,沒有提示 – user3196424

+0

在這一點上,我建議你讓你的整個insert_home.php爲: <?php echo('testing the ajax'); ?> 如果沒有提供警報,那麼您知道問題出在ajax部分。 如果確實發出警報,則說明問題出在您的insert_home.php頁面中。 – rrtx2000