【发布时间】:2019-07-26 11:18:36
【问题描述】:
我有以下函数,它以 json 的形式返回给我的值:
$.ajax({
type: "GET",
url: "<?php echo base_url() ?>Travel/get_kyc_details",
datatype: 'JSON',
success: function (data) {
console.log(data);
$.each(data, function (i, key) {
console.log(key);
});
}, error: function (data) {
}
});
返回的数据格式如下:
{
"6": {
"phone_no_prefix": 254,
"phone_no": 714339521,
"contact_name": "Sammy Ojwang",
"contact_phone_prefix": 254,
"contact_phone": 77528578,
"contact_email": "smjwang@gmail.com",
"passport": "A1730170",
"national_id": 28200148
},
"7": {
"phone_no_prefix": 254,
"phone_no": 700000000,
"contact_name": "Emergency One",
"contact_phone_prefix": 254,
"contact_phone": 7100000,
"contact_email": "em@gmail.com",
"passport": "A189234",
"national_id": 12345678
},
"8": {
"phone_no_prefix": 254,
"phone_no": 711111111,
"contact_name": "Emergency Two",
"contact_phone_prefix": 254,
"contact_phone": 7130000,
"contact_email": "em2@gmail.com",
"passport": "A8765432",
"national_id": 981234
}
}
但是,当我尝试使用以下格式循环遍历它时,它会失败:
$.each(data, function (i, key) {
console.log(key);
});
以下是我得到的错误:
Uncaught TypeError: Cannot use 'in' operator to search for 'length' in {"9":
如何循环并检索以下数据: phone_no_prefix、contact_name、national_id、contact_email 等?
【问题讨论】:
-
这不是一个数组,而是一个键值对对象。另一种
$.each(Object.entries(data), function (i, [key,value]) { console.log(key, '/', value); });
标签: javascript jquery arrays json