无法在php+;中获取json响应;代码点火器+;jquery.ajax()

无法在php+;中获取json响应;代码点火器+;jquery.ajax(),php,json,codeigniter,jquery,Php,Json,Codeigniter,Jquery,我的看法-- 在我的视图中打印($faculties)和警报响应(删除数据类型:'json')时,获得此输出-- ) 我的模型很好用。 但当我回显json_编码($faculties);对于数据类型:'json',在我的视图中,我得到的响应与[object][object]类似,并且无法解析响应。我知道这不是一个困难的问题。但我自己已经尝试了很多次来克服这一点。总之,我的问题是如何获得json响应,并在我的视图中解析它形成这个数组。 谢谢你试试这个 <?php public fu

我的看法--

在我的视图中打印($faculties)和警报响应(删除数据类型:'json')时,获得此输出--

)

我的模型很好用。 但当我回显json_编码($faculties);对于数据类型:'json',在我的视图中,我得到的响应与[object][object]类似,并且无法解析响应。我知道这不是一个困难的问题。但我自己已经尝试了很多次来克服这一点。总之,我的问题是如何获得json响应,并在我的视图中解析它形成这个数组。 谢谢你试试这个

<?php
    public function get_varsity_faculty()
    {
        $varsity_id=$this->input->post('varsity_id');
        $faculties=$this->admin_varsity->get_faculty_information($varsity_id);

        $rows = array();
        foreach($faculties->result() as $row)
        {
            $rows[] = $row;
        }

        print json_encode($rows);
    }
?>

它显示的是
[Object,Object]
,因为您正在编码的数组是一个数组数组,最终在最终解析的json中成为一个对象数组

例:

当使用类似于
$.parseJSON
的东西进行解析时,它将以包含两个对象的数组结束,或者当我们将其记录到控制台时:

[Object, Object]
[object object],[object object]
如果您使用
警报
而不是
控制台.log
(您不应该这样做)。请记住,
警报
仅显示字符串。如果希望能够看到返回的对象的组成,应始终使用
console.log

您可以像通常在javascript数组查找中一样访问各个对象。如果上述内容位于名为json_result的变量中,则您将使用:

json_result[0] // this would return the first object of the array.
然后可以使用对象键检索值:

json_result[0]['id'] // this will equal 1

没问题。很高兴我能帮忙。Happy hacking:)真是太棒了。希望我能给你更多的改变,让你更高兴;)plz一个问题:-数据类型:“json”,Jquery.ajax()中的功能是什么。它是自动从json响应返回javascript对象,还是从json响应返回javascript对象?是的。它指定了预期的返回数据,并将返回经过严格解析的javascript对象,前提是json没有格式错误。有关更多信息,请参阅的数据类型部分。谢谢。我认为这是对我的功能的一个很好的描述:Pits effects nothing.thanx供您尝试:)
<?php

    $array = array(
      0 => array('id' => 1),
      1 => array('id' => 2)
    );

    $json = json_encode($array);
[{"id" : 1}, {"id" : 2}]
[Object, Object]
json_result[0] // this would return the first object of the array.
json_result[0]['id'] // this will equal 1