当前位置: 首页 > 知识库问答 >
问题:

如何使用数据表和服务器端处理进行自定义筛选

宗安宁
2023-03-14

我正在使用Datatables在我的Web应用程序中显示表格数据,并将其配置为利用服务器端处理,即通过AJAX查询服务器以查找过滤后的数据。我想根据特定于我的应用程序的附加参数进行筛选,即对应于某些用户选项(例如,通过UI中的复选框)。如何使DataTables将这些附加的筛选器参数传递到服务器?

共有2个答案

顾俊誉
2023-03-14

解决方案是使用DataTables的fnServerParams选项,该选项允许您添加要在发送到服务器的XMLHttpRequest中发送的自定义参数。例如:

$(document).ready(function() {
  $('#example').dataTable({
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "/IndexXhr",
    "fnServerParams": function (aoData) {
        var includeUsuallyIgnored = $("#include-checkbox").is(":checked");
        aoData.push({name: "includeUsuallyIgnored", value: includeUsuallyIgnored});
    }
  });
});
陶永望
2023-03-14

此答案为1.10.6版本更新

现在可以使用ajax选项完成此操作。

示例代码

 $table.dataTable({
            "ajax":  {
                "url": "example.com/GetData",
                "type": "POST",
                "data": function(d) {
                    d.Foo = "bar";
                    d.Bar = "foo";
                    d.FooBar = "foobarz";
                }
            },
            "serverSide":true,
        });

Foo、Bar和FooBar将作为附加参数作为表单数据发布,以及其他现有参数,如draw、start、length等,因此根据服务器端语言,您可以相应地读取它们。

在现实生活中的scenerio中,您可能有一个搜索按钮和一些输入,您可以通过调用

        var table = $table.DataTable();
        table.ajax.reload(); 

单击按钮时。

 类似资料:
  • 我正在使用数据表和服务器端处理(Django)。 我有一个单独的textfield,在表已经呈现之后,我使用它自定义筛选DataTable中的数据。 以下操作很好(我想自定义筛选列): 所以在页面加载(DataTable的初始加载)时,它很好地过滤了'Robert'。但现在我想以编程方式更改数据以筛选 我已经尝试了以下操作,有一个正确的筛选对象,但是表本身并没有用新的筛选器重新绘制。 我也试过这个

  • 嗨,我在试图理解如何使用datatables进行服务器端处理时遇到了一些主要问题。在某些背景下,我使用一个服务调用Gamesparks为视频游戏创建后端,在这个服务中,他们有一个mongodb的实现。 我有一个endpoint可以获取所有用户,我可以在表中看到他们,但问题是我获取了所有用户,如何实现分页?。在文档中,他们声明我们必须将serverSide设置为true,但不起作用。我真的不知道如何

  • 我是新来的数据。我试图找到解决方案的服务器端处理,因为过去两天,但没有找到解决方案。 我的JS代码是 可数据以表格式呈现JSON。但是排序、分页和搜索操作是行不通的。无论我从下拉列表中选择了多少值,它都会在第一页显示所有结果 在底部,它还显示了像“显示0到0的0个条目(从NaN总条目中过滤)”这样的消息 如果我通过服务器端:false。一切正常。但我希望服务器端处理相同的数据 任何帮助都将不胜感激

  • 我编写了一个自定义的NiFi处理器,用于在BigQuery上执行一些任务。我希望能够重用与NiFi捆绑在一起的GCP凭据提供者控制器服务,以用于身份验证。这可能吗?我尝试将nifi-gcp-processors maven依赖项添加到我的项目中,它成功构建,但当我尝试用我的nar启动NiFi时,它失败了,出现了这个错误消息。

  • 问题内容: 我开始工作,并和奇迹是否可以定制响应期待。当前对DataTables插件的期望是这样的: 在服务器端,API由 服务器的响应是: 因此,有没有一种方法可以调整Datatables插件以接受/映射此响应,或者我必须找到一种将期望的字段添加到api的方法? 到目前为止,我已经做到了: 任何帮助将不胜感激。 提前致谢 :) 问题答案: 您可以将函数传递给DataTables 选项,这将使您完

  • 我看到了Apache NiFi的这个示例(https://medium.com/hashmapinc/creating-custom-processors-and-controllers-in-apache-nifi-e14148740ea),但仍然无法理解如何为自定义处理器和控制器服务实现打包结构。 我的目标是创建一个自定义控制器服务来使用我的多个自定义处理器。我的maven结构应该是什么样子?