0

我正试图从过去两天解决这个问题,但是:(

现在我有一个 index.php 页面,其中显示了数据库中添加的所有数据。这是我的索引页

<html>
 <head>
  <script>
   $(document).ready(function(){
     var overlayclass = $("<div id='overlayclass'></div>");
     //pagination starts
     $("#pagination li:first")
     .css({'color' : '#FF0084'}).css({'border' : 'solid #dddddd 10px'});
     $("#page").load("Controller/pagination_data_all_adds.php?page=1");
    //Pagination Click
    $("#pagination li").click(function(){
 //CSS Styles
    $("#pagination li")
    .css({'color' : '#FF0084'})
    .css({'border' : 'none'});
    $(this)
    .css({'border' : 'solid #dddddd 10px'})
    .css({'color' : '#0063DC'});
//Loading Data
   var pageNum = this.id;
     $("#page").load("Controller/pagination_data_all_adds.php?page=" + pageNum);
     });
//pagination ends                 
//for closing the div
   $(".close").click(function () {
    $(".divpopup").hide();
    overlayclass.appendTo(document.body).remove();
    return false;
   });
//for close image
   $(".x").click(function () {
   $(".divpopup").hide();
   overlayclass.appendTo(document.body).remove();
   return false;
 });
//onclick on button display div and overlay with button value and post the value to the index   page where I can use it to select the specific adds data from database
$(':submit').live('click',function () {
var id = $(this).val();
overlayclass.show();
overlayclass.appendTo(document.body);
$(".divpopup").show('slow');
$.ajax({
url: 'index.php',
data:'button=' + $(this).val(),
dataType: 'json',
succss: function(data)
{
$('.divpopup').html('');
alert(data);
$('.divpopup').append('button:'+data);
}
});
return false;
});
});

</script>
</head>

<body>
<div class="divpopup">
<div class="divcontent">
<img src="http://www.catalyst-gc.com/images/icon_close_window.jpg" alt="icon_close_window" 
class="x" id="imgclose" />

<div class="detail_data">

<?php

print "<h1>".$button."</h1>";

?>

</div>

<a href="" class="close">Close</a>

</div>

</div>


<div id="page"></div>

<ul id="pagination">

<?php

//Pagination Numbers

for($i=1; $i<=$pages; $i++)

{

echo '<li id="'.$i.'"-->'.$i.'';
}

?>

</ul>

<!--Pagging display ends -->

</body>

</html>

这是我的 pagination_data_all_adds 页面,它将通过索引页面中的 jQquery 加载函数加载。内页 div。并且将单击表内的按钮以显示具有添加 id 的 popupdiv,然后我将使用它来显示其余数据。

<?php include_once('dbconn.php');
$per_page = 6;
if($_GET)  
{  
$page=$_GET['page'];  
}  

$start = ($page-1)*$per_page;  
$sql = "select * from adds order by add_id limit $start,$per_page";  
$result = mysql_query($sql);  
echo "<table cellspacing='0'>";
echo "<thead>";
echo "<th></th>";
echo "<th>Advertise</th>";
echo "<th>Title</th>";
//echo "<th>Description</th>";
echo "<th>Price</th>";
echo "</thead>";
while ($adds = mysql_fetch_array($result)) {
echo "<tbody>";
echo "<tr class='even'>";
$image_link = $adds["image"];
echo "<td><img class='image' src=adds_images/".$image_link."></td>";
echo "<td><b>".$adds["add_type"] . "</b></td>";
echo "<td><b>".$adds["add_title"] ."</b></td>";
echo "<td><b>".$adds["add_price"] ."</b></td>";
echo "<td>";
echo "<form method='post' action=''>"
echo "<button class='button' value='".$adds['add_id']."' type='submit'>Detail!</button>";
echo "</form>";
echo"</td>";
echo "</tr>";
echo "</tbody>";
}
 echo "</table>";?> 

现在的问题是,当我单击页面 div 按钮时,它什么也不显示,但是当我查看 Firebug 响应时,它显示在那里。当我单击按钮时它不显示。

4

2 回答 2

0

您在 ajax 调用中的 dataType 是json.

$.ajax({
url: 'index.php',
data:'button=' + $(this).val(),
dataType: 'json', <--------------------------------- JSON

但你要回来了html

echo "<table cellspacing='0'>";
echo "<thead>";
echo "<th></th>";
echo "<th>Advertise</th>";
..........................
..........................

因此,您的通话实际上失败了(如果您使用过,您可能会发现fail)。

所以答案是返回json或更改数据类型。


注意

很多和很多已弃用的功能。使用.on而不是live. 使用.done而不是success. 使用mysqli/pdo而不是mysql.

    if($_GET)  
{  
$page=$_GET['page'];  
}  

您也需要在适当的索引上使用isset或那个。始终设置。所以检查它的存在是徒劳的。您需要检查索引。IEempty$_GET

if(isset($_GET['page']))
于 2013-05-02T06:56:51.173 回答
0

再次呼应@itachi 所说的,从你的 php.ini 传递 json 数据。您的 js 脚本正在等待 json 对象,但您正在传递 html 文件。以从 JavaScript //dataType: 'json', 中注释掉这一行的方式使用您的代码。我还鼓励您使用 jquery dataTables 来节省时间。看看这里

于 2013-10-14T07:54:45.817 回答