我从 ajax 调用中返回了三个数据。我将它们打包到一个数组中,如下所示:
return json_encode([$salesOrder, $soAddressDetails, $lineItems]);
然后我转到 View 并查看返回结果。我看到(作为示例):
[
[{
"id": 8591,
"reference": "MYCLIENT",
"name": "MYCLIENT COMPANY \u00a3",
"allocated_status": "",
"created_at": "2016-12-02 09:31:00",
"order_date": "2016-12-02",
"cust_order_number": "",
"del_name": "",
"consignment": "",
"despatch_date": "0000-00-00",
"notes_2": ""
}],
[],
[{
"id": 11691,
"qty_ordered": 1,
"qty_delivered": 0,
"sales_order_id": 8591,
"due_date": "2016-12-30",
"stock_code": "ABC-ABDCDE-01",
"record_deleted": 0,
"updated_at": null,
"unit_price": 0,
"sales_order_item_id": null,
"comment": null,
"created_at": null,
"firmware_version": null,
"units_assigned": null
},
{
"id": 11692,
"qty_ordered": 1,
"qty_delivered": 0,
"sales_order_id": 8591,
"due_date": "0000-00-00",
"stock_code": "MISCELLANEOUS",
"record_deleted": 0,
"updated_at": null,
"unit_price": 232,
"sales_order_item_id": null,
"comment": null,
"created_at": null,
"firmware_version": null,
"units_assigned": null
}
]
]
理论上我需要访问它,因为数组结果
是:
result[0] // sales order details
result[2] // line items = array of objects
所以
result[0].reference == 'MYCLIENT'
和
result[2][0].stockcode == 'ABC-ABDCDE-01
但它不会让我这样做。如果我 console.log(result[0])
结果是 [
,如果我 console.log(result[0][0].id)
结果是未定义
。
我做错了什么?
最佳答案
从问题的最后一行来看,您的结果
似乎仍然是一个字符串。
尝试执行JSON.parse(result)
关于javascript - 在ajax中读取对象数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42792473/