Json数组对象未定义的值

时间:2015-09-23 23:08:00

标签: javascript php jquery json ajax

我试图通过ajax请求从php获取一个对象数组。

直到现在一切正常,我在javascript {"ID:"9348","Name":"Mark"}的ajax响应中以json格式获取我的数组。

但现在如果我尝试使用alert(data["ID"])

获取对象



$.ajax({
			url:'loaddata.php',
			dataType:'json',
			success:function(data){
				
				alert(data['ID']);
			},
			 error: function (thrownError) {
				alert("errore");
			}
		});




我得到" undefined"谁能帮帮我???

在我的php文件中我有这个:



$a=array();

while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
	$a[] = json_encode (array('ID'=>$row['ID'],'name'=>$row['name']));
	
}
			header("Content-Type: application/json");
			echo json_encode($a);




2 个答案:

答案 0 :(得分:0)

从您发布的PHP代码中,您似乎返回了一个数组。因此,你必须按数组索引选择数据集:

alert(data[0]['ID']);

你的json可能看起来像这样:

[ {"ID":"9348","Name":"Mark"}, ... ]

答案 1 :(得分:0)

你是双重编码

in-loop: $a[] = json_encode (... // this makes $a an array of json-strings
outside: echo json_encode($a ... // this echos an JSON representation of an array of json-strings

这不起作用,只需生成/收集您的数组,然后最后执行json_encode 一次

  • 除非您真的想在JSON-Object / Array
  • 中使用JSON-Strings