AJAX没有收到PHP内容

时间:2013-07-16 10:54:39

标签: php jquery ajax pdo

我正在尝试使用AJAX对我的文章进行无限滚动,并且它不会从PHP页面获取任何内容。我正在使用PDO访问数据库。我已经尝试使用正常限制0,12,它加载正常。

这是我到目前为止所做的:

chapter.php:

<?php
    include("includes/init.php");
    $query=$db->prepare("SELECT * FROM `test_db` WHERE `test_db`.`Chapter` LIKE :chapter ORDER BY `id` ASC");
    $chapter= (isset($_GET['chapter']) === true) ? $chapter= htmlentities($_GET['chapter']) : die(header('Location:..'));
    $query->bindValue(':chapter', '%'. $chapter . '%', PDO::PARAM_STR);
    $query->execute();
    $number= $query->rowCount();      
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div class="container">
<ul>
<script>
  var page = 1;
if($(window).scrollTop() + $(window).height() == $(document).height()) {
    page++;
    var actual_count = "<?php echo $number; ?>";
    if ((page-1)* 12 < actual_count){
        $.ajax({
            type: "POST",
            url: "data.php",
            data:{ 'page': page },
            success: function(res) {$(".container ul").append(res);}
        });
    }
}
</script>
</ul>
</div>  
</body>
</html>

data.php:

<?php 
    include("includes/init.php");
    $page= $_POST['page'];
    $articles = (($page- 1) * 12) . ", 12";
    $articles=$query->prepare("SELECT * FROM `test_db` WHERE `test_db`.`Chapter` LIKE :chapter ORDER BY `id` ASC LIMIT $articles");
    $chapter= (isset($_GET['chapter']) === true) ? $chapter= htmlentities($_GET['chapter']) : die(header('Location:..'));
    $query->bindValue(':chapter', '%'. $chapter . '%', PDO::PARAM_STR);        
    $articles->execute();
    $rows= $articles->fetchAll(PDO::FETCH_ASSOC);  
    foreach ($rows as $row){
        echo "<li>".$row['Name']."-".$row['Description']."</li>";
    };
exit;
?>

1 个答案:

答案 0 :(得分:0)

试试这个

  var articles_count = "<?php echo $number; ?>";
  while ((page-1)* 12 < articles_count){
      $.ajax({
      type: "POST",
      url: "data.php",
      data:{ 'page': page },
      success: function(res) {
      $(".container ul").append(res);}
    });
  }