gpt4 book ai didi

angularjs - Angular 和 Django Rest 框架

转载 作者:行者123 更新时间:2023-12-02 04:54:11 25 4
gpt4 key购买 nike

我有一个由 Django rest 框架提供支持的 API,我还使用默认的分页选项:

{
"count": 40,
"next": "http://127.0.0.1:8000/api/task/?page=2",
"previous": null,
"results": [{},{}...]
}

在 Angular 方面,我使用 ngResource 通过以下代码使用我的 api:

var task_resource = $resource('/api/task/:taskId/', {taskId:'@id'},{
query : {
method : 'GET',
isArray : false
}
});

我只想能够,当用户单击“下一步”按钮或向下滚动到页面底部时查询“下一页”直到结束。我知道我只需要在“下一个”字段上获取,但如果我这样做,我将不会使用我定义的 $resource。

我想知道这种带有 Angular 和 API 的常见模式的解决方案是什么。

最佳答案

由于“下一个”URL 是绝对的,您可以简单地使用 Angular 的内置 $http 服务来处理这些请求。类似于 $http.get(data.next).success(function(data){});

另一种方法是创建您自己的自定义分页序列化程序,如下所述:http://www.django-rest-framework.org/api-guide/pagination#custom-pagination-serializers

然后您需要创建您自己的 NextPageField 版本,并使其在没有域部分的情况下输出。

NextPageField 的标准实现可以在这里找到: https://github.com/tomchristie/django-rest-framework/blob/560f428e24c7676c660114c2daa6017ff61074ad/rest_framework/pagination.py

关于angularjs - Angular 和 Django Rest 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24630143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com