繁体   English   中英

在Codeigniter - Ajax中显示数组的问题

[英]Issue displaying array in Codeigniter - Ajax

我正在尝试使用codeigniter将AJAX调用方法实现到我的网站中,因此当用户单击按钮时它将实时更新它们。

单击按钮工作并显示所有JSON数据,但问题是,当我尝试显示特定阵列时,它不打印它显示单个值,例如“h”

我希望能够打印特定的数组,例如包含字符串“Jamie”的数组

任何帮助,将不胜感激

调节器

public function insertJSON()
    {
        $this->load->model("values");
        $queryresults = $this->values->getDb();

        $arr = array();
        $arr2 = array();


        foreach($queryresults as $row)
        {
            $arr[] =  $row->post;
            $arr2[] = $row->img;
        }

                    $data = array();
                    $data[] = $arr;
                    $data[] = $arr2;

                    echo json_encode($data);
    }

视图

<script type='text/javascript' language='javascript'>
  $('#getdata').click(function () {
    $.ajax({
      url: '<?php echo base_url().'index.php/welcome/insertJSON';?>',
      async: false,
      type: "POST",
      success: function(data) {
        $('#result_table').html(data[1]);
      }
    })
  });
</script>

变量的Vardump

array(2) {
  [0]=>
  array(4) {
    [0]=>
    string(5) "Jamie"
    [1]=>
    string(4) "Mark"
    [2]=>
    string(5) "James"
    [3]=>
    string(5) "hello"
}
[1]=>
  array(4) {
    [0]=>
    string(16) "oliver@hotmail.com"
    [1]=>
    string(15) "jakie@hotmail.com"
    [2]=>
    string(15) "mark@hotmail.com"
    [3]=>
    string(16) "james@hotmail.com"
}
}

如果要display a specific array使用[]运算符

$('#result_table').html(data[0][0]); //will print Jamie
$('#result_table').html(data[0][3]); //will print hello
$('#result_table').html(data[1][1]); //will print jakie@hotmail.com

尝试在返回的数据上运行此操作:

data = JSON.parse(data);

所以:

success: function(data) {
    data = JSON.parse(data);
    $('#result_table').html(data[1]);
}

一些信息:要正确获取jSON,您应该在输出之前设置输出TYPE ,如下所示:

$this->output->set_content_type('application/json');

然后像这样设置输出:

$this->output->set_output(json_encode($data));  

但是根据你的var dump $ data [1]会显示Object [] ,所有上面的答案都是正确的。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM