首页 > 解决方案 > 如何通过codeigniter中的ajax调用从数据库接收数据?

问题描述

我需要的是从数据库中以 Json 格式接收数据,并且我正在编码,我认为这很正确,但我不知道为什么每次收到“失败”响应。我正在使用codeigniter。

我的ajax请求:

$.ajax({
    type:'get',
    url  : 'get_trip_data',
    data: "",
    dataType: 'json', 

    success: function(result){

        console.log('Success');
        console.log(result);
    },
    error: function(result){
      console.log('Failed');
      console.log(result);
    }
 });

我的控制器:

    public function get_trip_data()
    {       
        $result = $this->db->get('book_trip')->result_array();
        $trip = array();
        $i = 0;
        foreach($result as $r)
        {           
            $trip[$i]['id'] =  $r['book_id'];
            $trip[$i]['text'] =  $r['book_name'];
            $trip[$i]['start'] =  $r['date_travel'];
            $trip[$i]['end'] =  $r['date_returrn'];
            $i=$i+1;            
        }
        return json_encode($trip);
    }

即使我只返回“$result”,这个调用也不起作用。

注意:当我直接点击路由时,我会以 json 格式正确获取所有数据。你能提出什么问题吗?

Ps:我已经搜索了所有的谷歌和堆栈溢出,但没有解决我的问题。

标签: jqueryjsonajaxcodeigniterget

解决方案


在控制器中

您可以“回显”而不是返回。

此外,在视图的成功和错误部分,您应该解析结果。

跟着下一个。

var res = JSON.parse(result); 控制台.log(res);


推荐阅读