ajax – ngtable服务器端分页
发布时间:2020-12-16 01:35:12 所属栏目:百科 来源:网络整理
导读:您好我试着弄清楚如何使用 angularjs进行服务器端分页. 我有两个网络服务: localhost:8080 / app / api / period方法GET返回json实体列表.当参数传递页码时,开始时间范围和停止时的范围. localhost:8080 / app / api / period / count方法GET返回句点计数
您好我试着弄清楚如何使用
angularjs进行服务器端分页.
我有两个网络服务: localhost:8080 / app / api / period方法GET返回json实体列表.当参数传递页码时,开始时间范围和停止时的范围. localhost:8080 / app / api / period / count方法GET返回句点计数.当参数通过启动周期范围和停止时的范围. this.tableParams = new ngTableParams({ page: 1,count: 10 },{ counts: [10],total: 0,getData: function($defer,params) { $http.get('/app/api/period',{params: { pageNumber:params.page() - 1,rangeStart:rangeStart,rangeStop:rangeStop}}) .success(function(data,status) { params.total($http.get('/app/api/period/count',{params: { rangeStart:rangeStart,rangeStop:rangeStop}})); $defer.resolve(data); }); } }); 表params.total未进行核心更新,因此会显示表中的数据,但不会显示分页按钮. 有没有人可以解释我如何在其他$http.get的成功监听器中使用$http.get来获得正确设置的params.total.
你没有看到分页按钮,因为你的get()可能会因为你在服务器端的“rangeStart”,“rangeStop”限制而返回10,如果你从10个总数中返回10个结果,则没有任何分页.
每个请求可以返回10个结果,但params.total应该始终是所有结果的计数. 无论如何你不需要2个get()调用,你可以用这样的方式返回它:D { "results": [ { "id": "1437","task_started_at": "2014-06-09 12:25:25","task_finished_at": "2014-06-09 12:25:25" },{ "id": "1436","task_started_at": "2014-06-09 12:26:31","task_finished_at": "2014-06-09 12:26:31" } ],"total": 1027 } 你的代码看起来像这样: params.total(data.total); $defer.resolve(data.results); 而且你也不需要总数,因为你会从服务员那里得到它所以删除: total: 0; 最后你的代码与2 get()调用看起来像这样: this.tableParams = new ngTableParams({ page: 1,{ getData: function($defer,status) { params.total($http.get('/app/api/period/count')); $defer.resolve(data); }); } }); 其中$http.get(‘/ app / api / period / count’)返回1234等记录总数 祝好运 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |