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

Angularjs数据表服务器端分页

艾灿
2023-03-14

我试图使Angularjs服务器端分页在这个链接https://l-lin.github.io/angular-datatables/#/serverSideProcessing

所以我用这个暗号

    $scope.dtOptions = DTOptionsBuilder.newOptions()
       .withOption('ajax', {
                  dataSrc: function(json) {
                    conole.log(json)
                    json['recordsTotal'] =json.length
                    json['recordsFiltered'] = json.length
                    json['draw']=1
                    conole.log(json)
                    return json;
                  },
              url: 'api/footestrecords',
              type: 'GET'
           })
       .withOption('processing', true)
       .withOption('serverSide', true)
       .withPaginationType('full_numbers');

我在dataSrc参数中手动添加了recordsTotal、recordsFiltered和row

这是添加recordsTotal、recordsFiltered和row之前和之后的json数据

添加前的json数据

[Object, Object, Object, Object, Object, Object, Object, Object,
Object,Object, Object, Object, Object, Object, Object, Object, Object,
Object, Object, Object, Object, Object, Object, Object, Object, Object,
Object, Object]

添加后的json数据

 [Object, Object, Object, Object, Object, Object, Object, Object,
  Object, Object, Object, Object, Object, Object, Object, Object, Object,
  Object, Object, Object, Object, Object, Object, Object, Object, 
  Object,Object, Object, recordsTotal: 28, recordsFiltered: 28, draw: 1]

问题是分页不起作用,数据表显示在一个页面中的所有数据,当我点击分页按钮时没有任何动作。

共有3个答案

钱展
2023-03-14
The return data must be list of object ["data"]=[{name:john,id:1},{name:jason,id:2}].

Try
  .withOption('ajax', {
                  dataSrc: function(data) {                 
                   return data.data;
                     }
                  })
Else,
       .withOption('ajax', {
                  "dataSrc": "data"
                  }
樊烨烨
2023-03-14

删除. dataSrc并使用此选项:

.withDataProp(function(json) {
  console.log(json);
  json.recordsTotal = json.response.total;
  json.recordsFiltered = json.response.total;
  json.draw = 1;
  return json.response.data;
})

根据你的对象改变json.response。

艾敏学
2023-03-14

返回的JSON格式应为:

{
    data: [{Object},{Object},{Object},{Object}…]
    draw: "1"
    recordsFiltered: 91
    recordsTotal: 91
}

你可以从这里得到一个完整的教程,关于数据服务器端分页,排序和过滤在angularjs

 类似资料:
  • 我在数据服务器端处理中的代码有问题。问题在于分页。我的数据给我3页,但只有第一次点击分页工作的数字(不管我点击了什么数字)。在此之后,任何数量的任何点击都只会使表格内容闪烁。表中没有任何变化。 谁能帮我提些建议做什么?非常感谢。 编辑: 刚刚修好了。请核对答案。 我的代码:

  • 问题内容: 我试图了解如何执行以下操作: 声明表单的可接受方式是什么。我的理解是,您只需用HTML声明表单,并添加ng-model指令,如下所示: 要发送到服务器的内容。我可以将item对象作为JSON发送到服务器,然后对其进行解释。然后,我可以对对象执行验证。如果失败,则抛出JSON错误,然后发回确切的信息?有接受的方式吗?如何以一种很好的方式将验证错误从服务器推送到客户端? 我确实需要一个示例

  • 我试图了解如何做以下事情: 声明表单的公认方式是什么。我的理解是您只需用超文本标记语言声明表单,然后添加ng-model指令,如下所示: 发送到服务器的内容。我可以将item对象作为JSON发送到服务器,并对其进行解释。然后我可以对对象执行验证。如果失败,我抛出一个JSON错误,并返回具体内容?有没有公认的方法?如何以一种好的方式将验证错误从服务器推送到客户端? 我真的需要一个例子,但是Angul

  • 问题内容: 我试图显示一个包含大量元素的表。我想对表进行分页并仅加载当前页面上显示的元素。现在,json加载了。 我在这里读到,最好在json标头中传递分页信息(currentPage,pagesCount和elementsCount)。 我如何从angular访问json头中的那些信息? 这是基本的js结构: 问题答案: 根据AngularJS $ resource文档,应该可以这样做:

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

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