使用AJAX将结果添加到页面底部

时间:2016-03-05 21:44:53

标签: php arrays ajax

我有一些代码可以迭代一些数据库结果并显示它们,因此...... 注意:文章item.php只是通过一些格式回显结果。

 <ul class="post-column">
                            <?php 
                            foreach ($data as $lineitem):
                            $type = $lineitem['type'];
                            if($type == "article"){
                               require('php/articleitem.php');
                            }

                            endforeach; 
                            ?>
                        </ul>

当我到达页面底部时,我想进行一次AJAX DB调用以获得更多结果......

if ($(window).scrollTop() >= $(document).height() - $(window).height() - 700) {
        startpoint = startpoint + 10;

        processing = true;

        $.ajax({
            url: "AJAX/moritems.php",
            type: "post",
            async: false,
            //this is where we define the data that we will send
            data: {
                startpoint: startpoint,
            },
            success: function (data) {

            },
        });
        processing = false;
    }

我想使用数据库结果在屏幕上已经显示的数据下方显示更多数据,但由于我已经在PHP中显示了结果,我该怎么做?我是否必须使用AJAX加载带有结果的新php页面,然后使用javascript将其添加到结果底部的现有页面?

1 个答案:

答案 0 :(得分:0)

答案是肯定的。例如:

function load() {
    var xmlhttp;

    xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
           if(xmlhttp.status == 200){
               document.getElementById("myDiv").innerHTML += xmlhttp.responseText;
           }
           else if(xmlhttp.status == 400) {
              alert('There was an error 400')
           }
           else {
               alert('something else other than 200 was returned')
           }
        }
    }

    xmlhttp.open("GET", yoururl, true);
    xmlhttp.send();
}

您需要定义yoururl并将该功能与您的传呼按钮的click事件相关联,或在scroll时运行该功能。