我怎样才能将php变量传递给ajax

时间:2014-11-11 10:18:44

标签: php jquery ajax

我有一个自动加载页面,我需要能够根据变量检索数据,因为该变量必须带回特定值。下面的代码基于检索所有数据。但我只需要一些基于$ list的选择

page.php文件

<?php
  <div class="page-main ">
  $query="SELECT * FROM page WHERE page_id='$list'"; 
  $counting="SELECT * FROM page WHERE page_id='$list'";
  $rows=mysqli_query($connection,$counting);
  $rows_counts=mysqli_num_rows($rows);
  $results=mysqli_query($connection,$query);
  confirm_query($results);
?>

 <div class="loader">
 <img src="loader.gif" alt="loading gif"/>

 </div> 


</div> <!--close page main -->

这里是传递给ajax的jquery(它在同一页面上)

$(document).ready(function(){

$('.loader').hide();  

var load=0;

$.post("ajax.php",{load:load},function(data){  // somehow i need to pass $list to here



      $('.page-main').append(data);


     }); // close ajax
$(window).scroll(function(){


   if($(window).scrollTop() == $(document).height() - $(window).height())
   {
        $('.loader').show();

     load++; 

     $.post("ajax.php",{load:load},function(data){

      $('.page-main').append(data);

  $('.loader').hide();
     }); // close ajax

   };


 });// close window.scroll


});// close document.ready

这是ajax.php(现在我在这里得到未定义的变量$ list,我需要传递$ list我不知道如何将这个$ list从php传递到jquery到ajax。

    $load=htmlentities(strip_tags($_POST["load"])) * 6;

$query="SELECT * FROM page WHERE page_id='$list' ORDER BY page_id DESC  LIMIT ".$load.",6";
$result=mysqli_query($connection,$query);
  confirm_query($result);

//在此之后循环ect

2 个答案:

答案 0 :(得分:2)

尝试setting $list to a javascript variable。像:

var list=<?php echo $list?>;

然后按照您传递var load的方式传递它。

答案 1 :(得分:1)

可能的解决方案:

<script type="text/javascript">
  var load=0;
  $.ajax({
    type: 'POST',
    url: 'ajax.php',
    data: ({load: load, list: <?php echo $list ?>}),
    success: function(data) {
      $('.page-main').append(data);
    }
  });
</script>