我可以先动态加载表的一部分吗?

时间:2015-10-04 04:11:52

标签: php mysql datatables

由于我的雇主要求更轻松的数据管理,我最近将搜索页面更改为可搜索的数据表页面。问题是加载时间太长。

我想知道有一种方法只能像表格的一部分一样加载并首先完成加载页面。然后在此之后完成加载表格的其余部分,例如而用户实际上试图搜索数据。

这是请求的,因为用户可能希望导航到页面的其他部分而不是使用数据表。

额外信息:该页面位于.php中,并使用php do-while循环加载数据。也许我们可以使用PHP函数做一个解决方法?

1 个答案:

答案 0 :(得分:0)

使用评论中建议的AJAX方法,以下内容类似于处理页面加载的方式。您需要以下jQuery library

初始页面

<script type="text/javascript">

// when the page is done loading,
// let's send a call to load more data
$(document).ready(function(){
    myFunction();
});

// function to handle AJAX request to gather data
function myFunction(){
    $.ajax({
        type: "POST",
        url: "./linkToMyPHP.php?loadData=1",
        success: function(data){
            // handle the data using the "data" variable
        }
    });
}
</script>

AJAX Page

<?php

if(isset($_GET["loadData"])){

    // call query here and echo information

}

可能建议实际使用名为json_encode()的PHP函数以JSON格式回显来自AJAX页面的信息。这将允许您传输一组信息,而不是原始数据。然后,您需要更新类似于下面的AJAX请求函数。

$.ajax({
    type: "POST",
    url: "./linkToMyPHP.php?loadData=1",
    dataType: "json",
    success: function(data){
        $("#myDivToChange").html(data);
    }
});

您可以在此highly rated question上阅读JSON。