什么是客户端和服务器端数据表处理?

What is Client & Server side DataTable processing?

我已经尝试研究 Google 但失败了,这里是为了对客户端和服务器端 jQuery 数据表处理的含义有一个基本但很好的理解。我知道客户端通常是 Web 浏览器,它与用户交互,服务器是 http 服务器,但仅此而已。如果有人可以帮助简要说明数据处理的两个方面?如果有例子,那就太棒了。如果没有,仍然很棒。

<table id="datatable" class="table">
    <thead>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Budget)
        ........
    </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
    ...........

<script type="text/javascript">
    $(document).ready(function () {
        $('#datatable').dataTable();
    });
</script>

那么,对于客户端处理,我首先需要做的是脚本代码吗?

请阅读有关 processing modes 的官方文档。

  • 客户端处理 - 预先加载完整数据集,并在浏览器中完成数据处理(排序、过滤、分页)。

    使用客户端处理模式查看 this example 数据 table。

  • 服务器端处理 - 每次 table 重绘都会发出 Ajax 请求,只有每次重绘所需的数据显示返回。数据处理(排序、过滤、分页)在服务器上进行。

    使用服务器端处理模式查看 this example 数据 table。

简单来说,

Client-Side - 所有数据都由服务器发送到浏览器一次。之后,分页、排序等全部由前端JS处理

服务器端 - Ajax 对每个请求进行调用,并且仅发送特定数据。例如显示 10 条记录,这里调用 AJAX 来获取这 10 条记录,因此服务器只发送这些记录而不是完整数据。分页、搜索、过滤等也是如此

  • 为了更好的性能,服务器端数据是最好的解决方案(对于巨大的 数据).

  • 客户端最适合较少的数据