0

$_GET を使用してページネーション用の PHP クラスを開発しています。ウェブから見つけた標準です。

ここではうまくいきます: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>

これは可能な方法ですか?

4

2 に答える 2

1

jquery の $.post を使用する代わりに、$.post を $.get に置き換えることは可能ですか?

于 2013-04-25T12:59:57.223 に答える
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あなたがそのフォームを持っている必要はないことに注意する価値があります。

アップデート

index.phpそのため、 fromでページネーションを操作するには、完全なコンテンツとともに呼び出された非表示の div を返すpage.phpことができます。page.php.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>
于 2013-04-25T13:03:04.427 に答える