Javascript 如何解析具有多个页面的json api中的数据

Javascript 如何解析具有多个页面的json api中的数据,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,目标:从API解析JSON,在API中,结果跨多个页面列出 我不熟悉JSON,也不熟悉一般的数据处理。我想知道如何编写一个函数来更新url,输出每个页面的结果,并在到达一个空页面时停止 这里的这个问题来自Shopify url,该url显示用于琐碎目的的JSON数据,而不是实际应用程序的一部分 每个页面有5个对象。我正在向url发出$.ajax请求,但url的查询为page=1 $.ajax({ url:"https://shopicruit.myshopify.com/admi

目标:从API解析JSON,在API中,结果跨多个页面列出

我不熟悉JSON,也不熟悉一般的数据处理。我想知道如何编写一个函数来更新url,输出每个页面的结果,并在到达一个空页面时停止

这里的这个问题来自Shopify url,该url显示用于琐碎目的的JSON数据,而不是实际应用程序的一部分

每个页面有5个对象。我正在向url发出$.ajax请求,但url的查询为page=1

$.ajax({
        url:"https://shopicruit.myshopify.com/admin/orders.json?page=1&access_token=c32313df0d0ef512ca64d5b336a0d7c6",
        method:'get',
        dataType:'JSON'
      }).done(function(response){
所以我得到的回应显然只是第一页的结果。我知道b/c页面更多,如果我手动将1替换为2,我可以看到不同的数据。这种情况会持续多页。我尝试过删除页面选项,将其设置为all和any,这些只显示第1页。我想,也许不使用页面选项可以解决问题,但事实并非如此

如何使用ajax调用获取所有页面的数据? 它是一个将$.ajaxcall包含在内的函数,它添加了page++并对每个页面进行新的调用吗?我还是不知道该怎么写

shopify API文档确实给出了一些关于如何显示所有数据的示例,但我尝试使用他们建议的方法,但效果不佳,因此我不确定该方法是否适用于该问题,但以防万一-
这里有一个简单的答案-这将获得页面,直到明显没有更多数据-即,一旦页面返回的订单少于限制订单

注意,我使用了250作为一次获得250的限制

我说这太简单了,因为它确实获取了所有数据,但是,您需要等到检索到所有数据后才能使用它-这可能会花费您的用户体验太长时间-但这应该让您找到一个可以开始的地方

代码中有这样一种逻辑,即如果页面为0,则无论其中有多少项,都只会检索第一个页面,因此您可以执行如下操作

getAllData().then(function(page1data) {
    // do something with page 1
}).then(function() {
    return getAllData(2); // start at page 2
}).then(function(restOfData) {
    // do something with restOfData, pages 2+
});
我不确定的一件事是

.then(function(response){
您可能需要将此更改为

.then(function(r){
    var response = r[0];

我对jQuery不是100%肯定。那么回调参数

好吧,您可以将一次收到的订单数量提高到250个limit=250。。。但是你需要有一种循环,一次获取下一个bunch 1页,直到我猜你收到订单。长度<250-然后不要转到下一页抱歉延迟,但我正在尝试处理一些事情。我们能暂时忘记250英镑的限额吗?我不担心性能,所以让它保持原样,以减少混淆。第1页是什么?那是手术室还是烟斗?我还是不熟悉管道。你所做的正是我想做的,page++,但我真的不明白你是怎么做到的。或者这仅仅是一种语法,允许我做我一直想做的事情。很抱歉,我不知道如何解释我不明白的地方。你可以用50代替250。我真的很喜欢你的解决方案!但这有点超出了我的理解力,我正在进行解剖。我还没能让它工作,至少在顶楼没能。more上的断点返回为未定义。我想这就是你说的你不确定的。这破坏了concat,进而破坏了功能。我不知道为什么会这样。
.then(function(r){
    var response = r[0];