JavaScript Ajax数据是数组,但长度未定义
JavaScript Ajax data is array but length is undefined
我有以下Json结果:
(取自控制台)
data
Object {0: Object, 1: Object, 2: Object, 3: Object, 4: Object, 5: Object, 7: Object}
如果我在控制台中执行data[0]
,我会得到以下结果:
Object {id: 125, Module_id: 2, academy_id: 7, Team_id: 5, end: "2014-08-12 00:00:00"…}
然而,当我做data.length
的值是undefined
谁能告诉我发生了什么?
使用种
Object.keys(data).length;
演示object .keys()方法返回给定对象本身的数组属性所提供的顺序相同为…In循环(不同之处在于for-in循环枚举属性)。
您将json结果结构化为Object
而不是和Array
。不要把它们混在一起!data[0]
是结果对象的第一个实例变量的值。如果您想在发送json对象进行解析之前将其构造为数组,那么在php文件中确保将该对象编码为数组
read.php
<?
$data = array('a' => 1, 'b' => 2, 'c' => 3);
print json_encode($data);
?>
这将按预期工作:
Object.getOwnPropertyNames(data).length
相关文章:
- JSON解析未从数组中获取值
- Join架构验证:Join.object定义数组中的有效键
- 值未与数组对象绑定
- 在定义数组后填充数组
- 带有自定义数组的迷你图
- 函数中的Javascript未定义数组
- Meteor会话变量未存储数组
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- Javascript-自定义数组不起作用
- 为什么不能映射“未定义”数组
- JSON 多维数组未显示(“数组未定义”)
- 确定猫鼬中空数组和未定义数组之间的区别
- 未定义数组值
- 未捕获的类型错误:无法读取属性'长度'的未定义(数组)
- forEach()创建未定义数组(Javascript)
- Javascript console.log未读取数组未定义
- Jquery回调未定义数组
- Javascript拆分未定义数组
- 对array构造函数创建的未定义数组执行forEach操作
- 禁止未定义数组属性的javascript错误