codeigniter通过db中的ajax和json获取数据

时间:2015-08-25 16:44:55

标签: javascript ajax json codeigniter

我有以下问题:

查看:

<script>
        function show(id) {

            $.ajax({
                url: '<?php echo site_url('index.php/controller/show_id'); ?>',
                dataType: 'json',
                data:({id: id}),
                type: "POST",
                success: function (data) {
                    alert( data.user_id);
                }

            });
        }

        </script>

控制器:

function show_id(){

            $id= $this->input->post('id');
            $id_list = $this->id_model->show_id($id);   
            $data['id'] = $id_list;
            if($data['id']){   
                 echo json_encode( $data['id'] );
            } else {
                 echo json_encode( array('error' => true) );
            }   
        }

如果我加载页面,我得到了#34; undefined&#34;作为警报。 如果我将JS更改为&#34; alert(data);&#34;我收到了sql表的所有内容。

我如何更改JS才能获得&#34; user.id&#34;列?

2 个答案:

答案 0 :(得分:1)

请检查alert(typeof data); if it s获取字符串的数据类型然后您需要在对象中转换您的响应,然后您可以在对象中转换您的响应 -

var result = JSON.parse(data);

你得到一行或多行?????如果您获得单行,那么在转换为对象后,您必须像这样访问data.user_id(转换为对象后) -

var userId = result[0]['user_id]; 

请试试这个..

答案 1 :(得分:0)

您未定义,因为在数据中找不到索引user_id。你首先循环遍历数组,然后你可以获得data.user_id的值 见下文。

success: function (data) {
   var data = JSON.parse(data);
   console.log(data);
   for (var x in data){
       console.log(data[x].user_id);
   }    
}