0

次のコードを参照してください。このスクリプトは、「制限」変数を次のページにポストしません。

私のJSコード:

$(document).ready(function(){
         $(window).scroll(function() {
                    if ($('body').height() <= ($(window).height() + $(window).scrollTop())) {
                       var dataString="2";
                       $.ajax({
                          type:"POST",
                          url: "load_data.php",
                          data: { 'limit': dataString },
                          success:function(data) {
                             $('#leftNews').load('load_data.php'); 
                          }
                       });
                    }
         }); 
});

PHP コード

<?php
    if(isset($_POST['limit'])) {
        echo $_POST['limit'];
    }
    else echo 'asd';
?>

これを実行するたびに、「asd」が出力されます

4

2 に答える 2

4

これは、結果をロードするのではなく、PHP ページをロードしているためです。

$(document).ready(function() {
    $(window).scroll(function() {
        if ($('body').height() <= ($(window).height() + $(window).scrollTop())) {
            var dataString = "2";
            $.ajax({
                type: "POST",
                url: "load_data.php",
                data: {'limit': dataString},
                success: function(data) {
                    $('#leftNews').html(data);
                }
            });
        }
    });
});
于 2013-09-09T15:39:31.993 に答える
0

2 つの異なる ajax リクエストを行います。最初のものは、制限変数が設定された POST リクエストです。より重要なのは 2 番目のもので、load-requests (パラメーターなしの get-requests) です。もちろん、結果を出力する最後のリクエストにはパラメータが含まれていません。そのため、「asd」が出力されます-制限は設定されていません!

必要な結果を得るには、次のように変更する必要があります。

success:function(data) {
    $('#leftNews').html(data);
}
于 2013-09-09T15:41:24.270 に答える