【发布时间】:2015-03-11 12:42:23
【问题描述】:
我正在使用 Parse REST API + AngularJS,并且我试图能够在每个查询中获得 1000 多个项目。我尝试开发一个递归函数并连接每个查询,直到获得所有数据。我的问题是我无法成功连接 JSON 对象。这是我所拥有的:
$scope.getAllItems = function(queryLimit, querySkip, query) {
$http({method : 'GET',
url : 'https://api.parse.com/1/classes/myClass',
headers: { 'X-Parse-Application-Id':'XXX','X-Parse-REST-API-Key':'YYY'},
params: {limit:queryLimit, skip:querySkip},
}).success(function(data, status) {
query.concat(data.results);
if(query.lenth == queryLimit) {
querySkip += queryLimit;
queryLimit += 100;
$scope.getAllItems(queryLimit, querySkip, query);
} else {
$scope.clients = query;
}
})
.error(function(data, status) {
alert("Error");
});
};
var myQuery = angular.toJson([]); //Am I creating an empty JSON Obj?
$scope.getAllItems(100,0, myQuery);
有没有更好的解决方案来实现这一点?
【问题讨论】:
-
每个服务器响应都是一个完整的json字符串或者不完整的json字符串,必须在多个查询中下载?
-
如果每个服务器响应是一些对象的 json 编码数组,那么您可以创建空数组并为每个成功的请求添加下载的项目到这个数组。
-
我的理解是一个完整的 JSON 字符串,Parse API 不会让你每次查询得到超过 1000 项,所以基本上我会得到前 1000 项作为结果。
-
好的。只需创建数组并在每个请求上添加项目;-)
-
您正在使用字符串播种 myQuery - 我认为您只需要 var myQuery = [];
标签: json angularjs rest parse-platform