2014-01-22 95 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