2013-04-25 5 views
0

Я разрабатываю класс PHP для разбивки на страницы с использованием $ _GET. Это стандарт, найденный из Интернета.

Здесь работает хорошо: page.php:

<form method ="GET"> 
<?php 
$pages = new Pagination(); 
echo "<br/>"; 
?> 
</form> 

Я хочу использовать эту page.php в index.php с Ajax/JQuery и оставаясь в index.php

<!DOCTYPE html> 
<body> 
<div id ="result"></div> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $.post('./page.php', 
      function (data) { 
       $('#result').html(data); 
      } 
    ); 
}); 

</script> 
</body> 
</html> 

Возможно ли это?

ответ

1

Возможно ли, что вместо использования $ .post jquery можно заменить $ .post на $ .get?

1

Таким образом, вместо $.post, как вы сказали, его искали $_GET['page']

Так что вы могли бы сделать что-то вроде этого:

<script> 
$(document).ready(function(e) { 

    var page_num = 1; 
    $('.nextpage').on('click',function(e){ 
     e.preventDefault(); // stop the link from going anywhere 
     $.get('./page.php', 
      { 
       page: page_num // this is the same as $_GET['page'] 
      }, 
      function (data) { 
       $('#result').html(data); 
       page_num++; 
      } 
     ); 
    }); 

    $('.nextpage').click(); // emulate the click to get the first page 
}); 
</script> 

и в вашем теле что-то вроде этого:

<a href="/page.php?page=2" class="nextpage">Next page</a> 

Это Стоит отметить, что на вашем page.php вам не нужно иметь эту форму, поскольку я не вижу, что это будет делать много

UPDATE

Таким образом, чтобы иметь нумерацию страниц манипулировали на index.php от page.php вы могли бы иметь page.php возвращение скрытые DIV под названием .hidden_pagination вместе с его полным содержанием.

<script> 
$(document).ready(function(e) { 

    $('.pagination').on('click','a',function(e){ 
     e.preventDefault(); // stop the link from going anywhere 

     var next_page = $(this).attr('data-id'); // get the next page from the link data-id attribute 
     $.get('./page.php', 
      { 
       page: next_page // this is the same as $_GET['page'] 
      }, 
      function (data) { 
       $('#result').html(data); 

       $('.pagination').html($('#result').children('.hidden_pagination').html()); // add the new pagination to the current pagination 
      } 
     ); 
    }); 

    $('.nextpage').click(); // emulate the click to get the first page 
}); 
</script> 

<div class="pagination"> 
    <a href="#" class="nextpage" data-id="2">Next page</a> 
</div> 


<div id="result"> 
this will be replaced with the ajax response 
</div> 
+0

Да, это была глупая ошибка, но я хотел бы остаться AT index.php и манипулировать разбиением на страницы в page.php. Вероятно, я должен сделать это с