首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AngularJS处理数据库中的分页

用AngularJS处理数据库中的分页
EN

Stack Overflow用户
提问于 2017-01-10 05:30:07
回答 4查看 58关注 0票数 0

我正在尝试使用控制器中的'$http‘服务从一个自定义应用程序接口(带PostgresSQL数据库的flask)获取所有数据,但应用程序接口和数据库是用分页构建的,这意味着如果我不想访问数据,需要创建如下服务:

代码语言:javascript
复制
/*FIRST PAGE*/     
$http.get("/api/test", testData)
                .success(...)
/*SECOND PAGE*/
$http.get("/api/test?page=2", testData)
                .success(...)

这显然不是一个好的解决方案,但它是有效的!那么你能指导我如何更好地处理这种情况吗?因为我知道这个api包含1000多个页面...

干杯!

EN

回答 4

Stack Overflow用户

发布于 2017-01-10 05:50:20

这是在official documentation中描述的。

Angular的$http服务支持config参数(.get的第二个参数),它支持params参数,并通过适当的编码等为你做所有的连接。

params – {Object.<string|Object>} -将使用paramSerializer序列化并附加为GET参数的字符串或对象的映射。

所以你可以这样做

代码语言:javascript
复制
  angular
    .module('xxx')
    .factory('getPagedData', function ($http) {
      return function(page) {
        return $http.get("/api/test", { params: { page: page } });
      }
    });

并像这样使用它:

代码语言:javascript
复制
function someController(getPagedData) {
  getPagedData(2).then(...); // will do GET /api/test?page=2
}

还要注意,.success方法是deprecated。它甚至在Angular 1.6中被移除了。请改用.then

票数 1
EN

Stack Overflow用户

发布于 2017-01-10 05:37:44

虽然这似乎是一个合乎逻辑的解决方案...

代码语言:javascript
复制
/* SERVICE */
var baseUrl = "/api/test";

MyService.getTests = function(page, testData) {
  var pageParams = "";
  if (page > 1) {
    pageParams = "?page="+page;
  }
  return $http.get(baseUrl+pageParams, testData).success().error();
}

...GET请求不允许您发送任何数据。我不确定您计划如何向$http.get请求发送testData。配置请求的第二个参数是GET对象,它使您的服务变得更加简单。

代码语言:javascript
复制
var baseUrl = "/api/test";
MyService.getTests = function(page, testData) {
  return $http.get(baseUrl, {params: {page: page})  //becomes /api/test?page=1
  .success()
  .error();
}
票数 0
EN

Stack Overflow用户

发布于 2017-01-10 05:39:25

每次想要翻页到下一个数据集时,只需传递一个变量即可。所以你会有:

代码语言:javascript
复制
$http.get("/api/test?page="+ pageNum, testData).success(..)

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41557294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档