我正在尝试使用客户端的 API,它可以让我以 json 格式检索一组订单。我可以使用下面的代码来显示三个警报框。第一个框显示 200(假设这是 html 成功代码),然后我得到一个空白警报框,然后第三个框显示:[object Object]。
在 Chrome 中,如果我使用 F12 键并转到网络预览,我会看到三个部分,其中包含“正文”部分的“状态”部分,其中包含“订单”部分。订单部分有 50 个订单。每个订单都具有以下属性:order_type:“Pickup”等。我的问题是如何迭代实际订单。我不知道到达订单的语法以及订单内的属性。
我的最终目标是循环遍历所有 50 个订单,将一些订单属性分配给 JavaScript 变量,然后将其传递到 MVC Controller ,该 Controller 会将该订单插入到我的数据库中。基本上通过 API 从客户数据库获取订单并将其存储到我的本地数据库中。我猜测我将在 for first .each 循环中使用另一个 ajax 调用,通过调用将执行数据库插入的 MVC Controller 将多个订单属性发布到我的数据库中?
预先感谢您的帮助。
$.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);
});
}
});
最佳答案
根据您提供的信息。第一个 200 个警报将是计数 (number_of_orders_in_response)。您对 $.each 所做的是迭代对象属性,而不是订单。订单是数据对象的属性。所以 data.orders 就是你想要的数组。
试试这个:
$.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);
}
}
});
此外,看起来还涉及分页。因此,在编写脚本时需要考虑到这一点,以确保捕获所有可用的页面,而不仅仅是第一个页面。
关于json - JavaScript MVC 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18325385/