javascript - 使用 jQuery DataTables 自定义 REST 数据源

标签 javascript rest datatables

我有一个带有页面和大小参数的 REST 端点:

http://someservice.com/api/accounts/10/0

在这个例子中,它返回第一页,每页有 10 条记录。

现在,我想使用 DataTables , 和 found this example on StackOverflow ,我可以在其中将数据从对表的 REST 响应添加到表中。

但是,通过这种方式,我将所有数据添加到表中。我希望能够每页添加数据页,并向每页的端点页发出请求。例如,在页面加载时,我对该页面发出 REST 请求。当我点击第二页时,我再次请求该页面的数据。

有什么方法可以在 DataTables 中做到这一点?

最佳答案

这应该有效:

     function fnGetKey( aoData, sKey ){
         for ( var i=0, iLen=aoData.length ; i<iLen ; i++ ){    
            if ( aoData[i].name == sKey )
               return aoData[i].value;        
         }
     return null;
     }

     $('#example').dataTable( {
      "bServerSide" : true,
      "sAjaxSource" : "http://someservice.com/api/accounts/10/0", //first page
      "sPaginationType": "two_button",
      "fnServerData": function ( sSource, aoData, fnCallback ) {
          var startIndex = fnGetKey(aoData, "iDisplayStart")
          var length = fnGetKey(aoData, "iDisplayLength")
          sSource="http://someservice.com/api/accounts/"+length+"/"+(startIndex/length + 1)
          $.getJSON( sSource, aoData, function (json) { 
              fnCallback(json)
          } );
       }
    });

因此,当您点击下一页或上一页时,您需要计算您现在所在的页面,并通过更改源来做一个技巧。

关于javascript - 使用 jQuery DataTables 自定义 REST 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809174/

相关文章:

javascript - 如果网络请求花费太长时间,是否停止执行?

javascript - 在移动设备上移动元素

java - 我正在尝试开发 Web 服务 REST 应用程序。我不知道如何解决以下错误

Django Rest Framework - 单元测试图像文件上传

javascript - 如何动态生成表格并对行进行分组

jquery - 如何将 Datatables.net colvisGroup 绑定(bind)到外部按钮?

javascript - KendoUI 网格内联编辑 : focus cell on doubleclick

javascript - Python 抓取网站获得 Apache Tomcat/6.0.36 - 错误报告

javascript - 无法访问 Angular Promise 的属性

Javascript 关键字 "this"变为未定义