CodeIgniter - 如何从ajax方法返回值?

时间:2015-07-08 08:54:34

标签: php ajax codeigniter

我正在尝试将日期传递给ajax函数,并根据该日期与数据库分别获取相关类型和标题。

我使用了以下模型功能。

function get_reservation_for_add_popup($date_cal) {
        $this->db->select('reservations.title,reservations.type');
        $this->db->from('reservations');
        $this->db->where('reservations.date_cal', $date_cal);
        $this->db->where('reservations.is_deleted', '0');
        $query = $this->db->get();
        return $query->result();      
    }

我的控制器功能如下

function get_title_and_type() {
        $reservation_service = new Reservation_service();        
        $data['reservation_pop_up'] = $reservation_service->get_reservation_for_add_popup($this->input->post('date', TRUE));    

        echo $data;
    }

查看中,我想分别获取特定日期的标题和类型。我使用了以下ajax函数。但我不知道如何从ajax函数返回值以及如何将它们转换为变量。

var date = $('#date').val();
                var title=[];
                var type=[];

                $.ajax({
                    type: 'POST',
                    url: '<?php echo site_url(); ?>/dashboard/get_title_and_type',
                    data: 'date=' + date,
                    success: function(msg) {
                        return msg;                        
                    }
                });

由于我对ajax很新,如果有人给我一个想法,那将是一个很大的帮助。

3 个答案:

答案 0 :(得分:2)

在ajax中更改

data: 'date=' + date,

data: {'date' : date},

答案 1 :(得分:0)

在控制器中

function get_title_and_type() {
        $reservation_service = new Reservation_service();        
        $data['reservation_pop_up'] = $reservation_service->get_reservation_for_add_popup($this->input->post('date', TRUE));    

        echo json_encode($data);
    }

在你的ajax中添加dataType json

var date = $('#date').val();
                var title=[];
                var type=[];

                $.ajax({
                    type: 'POST',
                    dataType: 'json',
                    url: '<?php echo site_url(); ?>/dashboard/get_title_and_type',
                    data: {'date' : date},
                    success: function(msg) {
                        return msg;                        
                    }
                });

答案 2 :(得分:0)

发送从PHP文件编码的任何类型的JSON数据

Ractive.on('getHeaders', function(target) {
  // Check that the file is a file
  if(target.node.files !== undefined) {
    var reader = new FileReader();
    var headers = [];

    reader.onload = function(e) {
      console.log(e);
    };
  }
});

在你的JS中

function get_title_and_type() {

        ..... your code here
        $data['test_msg_2'] = "Hello 1";
        $data['test_msg_2'] = "Hello 2";
        echo json_encode($data);
}