Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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
获取php生成的json文件到jquery-空对象-为什么?_Php_Jquery_Json - Fatal编程技术网

获取php生成的json文件到jquery-空对象-为什么?

获取php生成的json文件到jquery-空对象-为什么?,php,jquery,json,Php,Jquery,Json,我有一个php文件: header('Content-Type: application/json'); echo json_encode(array(array('id' => 0, 'name' =>'test'))); 它生成如下文件: [{"id":0,"name":"test"}] 然后,我将其传递给jquery: $.ajax({ type: 'POST', url: "test.php",

我有一个php文件:

header('Content-Type: application/json');
echo json_encode(array(array('id' => 0, 'name' =>'test')));
它生成如下文件:

[{"id":0,"name":"test"}]
然后,我将其传递给jquery:

    $.ajax({ 
            type: 'POST', 
            url: "test.php",
            dataType: 'json',
            success: function (data) { 
                console.log(data + '\n' + data.status +':' + data.message);
            }
        });
但它产生了:

[object Object]
undefined:undefined 

为什么??我还尝试了parseJSON函数,但没有结果。我做错了什么?

既然JSON是一个数组,它可能应该是:

$.ajax({ 
        type: 'POST', 
        url: "test.php",
        dataType: 'json',
        success: function (data) { 
            for(var i=0; i<data.length; i++){
                console.log(data[i] , '\n' , data[i].status , ':' , data[i].message);
            }
        }
 });
$.ajax({
键入:“POST”,
url:“test.php”,
数据类型:“json”,
成功:函数(数据){

对于(var i=0;i当您获得console.log数据时,[object object object]?如果您像不在数组中一样使用对象,那么为什么您的对象在数组中?您在使用IE吗?如果是,请切换到Chrome并查看控制台。IE在显示对象
console.log(data+'\n'+data.status+':'+data.message)方面做得很糟糕
尝试将
数据
转换为字符串,生成
[object object]
。在该JSON中,没有
状态
消息
属性,因此它们是
未定义的
。只需尝试
控制台.log(data)
即可输出所需的任何内容,但使用
类似
控制台.log(data,'\n',data.status',:',data.message);
我将我编码的数组改为:echo json_encode(数组(数组('id'=>0,'name'=>test'),数组('id'=>1,'name'=>abc'));使用ur方法,我现在可以通过数据[i]对它进行处理,从而获得我需要的所有值.id-这对我来说意味着数据是一个数组而不是对象。我可以通过data.name.id(例如data.abc.id)获得正确的值并得到1作为响应吗?PHP不是我的主要语言…您可能需要创建一个对象类,然后设置该类的值,并在该类上运行
json\u encode()