首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript MVC解析JSON

JavaScript MVC解析JSON
EN

Stack Overflow用户
提问于 2013-08-20 00:59:07
回答 2查看 1K关注 0票数 2

我正在尝试使用客户机的API,该API允许我以json格式检索一组订单。我可以使用下面的代码,它将显示三个警报框。第一个框显示200 (假设这是html成功代码),然后我得到一个空白警告框,然后第三个框写着: Object。

在Chrome中,如果我使用F12键并进入网络预览,我会看到三个部分,状态包含一个主体部分,其中包含订单部分。订单部分有50个订单。每个订单都有一些属性,如: order_type:“拾取”等等。我的问题是如何迭代实际订单。我不知道达到顺序的语法,以及顺序中的属性。

我的最终目标是遍历所有50个订单,将一些订单属性分配给JavaScript vars,然后将其传递到一个将该订单插入到我的数据库中的MVC控制器中。基本上是通过API从客户端数据库获得订单,并将它们存储到本地数据库中。我猜我将在for first .each循环中使用另一个ajax调用,通过调用一个执行数据库插入的MVC控制器,将几个订单属性发布到我的数据库中。

提前感谢您的帮助。

代码语言:javascript
复制
$.ajax({
    type: 'GET',
    url: 'https://api.customer.com/2000105850/orders.json?v=1&key=12345',
    success: function (data) {                        
        $.each(data, function (index, element) {
            alert(element);   
        });
    }
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-20 01:15:54

根据你提供的信息。第一个200个警报将是计数(number_of_orders_in_response)。您使用$.each所做的是迭代对象属性,而不是订单。orders是数据对象上的属性。所以data.orders就是你想要的数组。

试试这个:

代码语言:javascript
复制
$.ajax({
  type: 'GET',
  url: 'https://api.customer.com/2000105850/orders.json?v=1&key=12345',
  success: function (data) {                        
    var orders = data.orders;
    var i = orders.length;
    while (i--) {
      alert(orders[i].order_type);
    }

  }
});

此外,它似乎有分页涉及。因此,在编写脚本时,您需要考虑到这一点,以确保捕获所有可用的页面,而不仅仅是第一个页面。

票数 2
EN

Stack Overflow用户

发布于 2013-08-20 01:15:11

将$.each的第一个参数从数据更改为data.orders

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

https://stackoverflow.com/questions/18325385

复制
相关文章

相似问题

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