Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript Ajax数据是数组,但长度未定义_Javascript_Jquery_Ajax - Fatal编程技术网

JavaScript Ajax数据是数组,但长度未定义

JavaScript Ajax数据是数组,但长度未定义,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下Json结果: (取自控制台) 如果我在控制台中执行数据[0]操作,我将得到以下结果: Object {id: 125, Module_id: 2, academy_id: 7, Team_id: 5, end: "2014-08-12 00:00:00"…} 但是,当我执行data.length时,值是未定义的有人能告诉我发生了什么吗?您将json结果结构化为对象而不是数组。不要把它们混在一起数据[0]是结果对象的第一个实例变量的值。如果您想在发送json对象进行解析之前将其结构化为

我有以下Json结果:

(取自控制台)

如果我在控制台中执行
数据[0]
操作,我将得到以下结果:

Object {id: 125, Module_id: 2, academy_id: 7, Team_id: 5, end: "2014-08-12 00:00:00"…}

但是,当我执行
data.length
时,值是
未定义的
有人能告诉我发生了什么吗?

您将json结果结构化为
对象
而不是
数组
。不要把它们混在一起<代码>数据[0]是结果对象的第一个实例变量的值。如果您想在发送json对象进行解析之前将其结构化为数组,那么在php文件中,请确保将该对象编码为数组

read.php

<?
    $data = array('a' => 1, 'b' => 2, 'c' => 3);
    print json_encode($data);
?>

您将json结果结构化为
对象
而不是
数组
。不要把它们混在一起<代码>数据[0]是结果对象的第一个实例变量的值。如果您想在发送json对象进行解析之前将其结构化为数组,那么在php文件中,请确保将该对象编码为数组

read.php

<?
    $data = array('a' => 1, 'b' => 2, 'c' => 3);
    print json_encode($data);
?>

使用

Object.keys(data).length;
方法返回给定对象自身的数组 可枚举属性,其顺序与 for…in循环(不同之处在于for in循环枚举 原型链中的属性)

使用

Object.keys(data).length;
方法返回给定对象自身的数组 可枚举属性,其顺序与 for…in循环(不同之处在于for in循环枚举 原型链中的属性)


这将按预期工作:

Object.getOwnPropertyNames(data).length

这将按预期工作:

Object.getOwnPropertyNames(data).length

数据不是数组。。。它是一个对象,因此没有长度属性更改JSON结构,使其成为一个对象数组。您试图获取的对象长度无效。请参见以下回答:改为尝试此
对象。键(数据)。长度
数据不是数组。。。它是一个对象,因此没有长度属性更改JSON结构,使其成为一个对象数组。你试图获取一个无效对象的长度。请看下面的答案:试试这个
object.keys(data).length
,或者他可以这样使用
data
一个数组。或者他可以这样使用
data
一个数组。我认为这也行得通。getOwnPropertyNames(data.length)我认为这也起作用。Object.getOwnPropertyNames(数据).length