0

参考以下代码,此脚本不会将“limit”变量发布到下一页

我的 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

您发出两个不同的 ajax 请求。第一个是带有限制变量集的 POST 请求。更重要的是第二个,它是一个加载请求(这是一个没有任何参数的获取请求)。当然,您最后一个打印结果的请求不包含任何参数,这就是打印“asd”的原因 - 未设置限制!

为了获得想要的结果,您应该将其更改为:

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