无法在codeigniter中使用ajax显示数据

时间:2018-02-15 03:05:07

标签: ajax codeigniter-3

我使用ajax来显示来自控制器的数据。 我的模特:

public function DtOdontogram($id_pasien){
        $odontogram=$this->db->query("SELECT id_odontogram, id_pasien, gigi, posisi, kondisi FROM odontogram where id_pasien=$id_pasien");
        if ($odontogram->row_array()>0) {
            return $odontogram->result_array();
        }
        return 0;
    }

控制器

public function odontogram($id_pasien){
            $data['pasien']=$this->m_pasien->DataPerPasien($id_pasien)->result();
            $data['odontogram']=$this->m_pasien->DtOdontogram($id_pasien);
            $data['sidebar']='member/dokter/sidebar_psn';
            $data['content']='member/dokter/odontogram';
            $this->load->view('member/dokter/main',$data);
}

的Ajax

function load(){
          $.ajax({
              url:"<?php echo base_url('c_dokter/odontogram/');?>" + id_pasien,
              type:"GET",
              dataType:'json',
              success:function(data){
                if (data.status) {
                  console.log(data);
                  alert('succeess');
                  $.each(data,function(i,val){

                  $("#"+gigi).find("#"+posisi).css({fill: "#333333"});

              });
                }
              },
              error:function(){
                alert('error ... ');
                 }
                });
            }
load();

它始终在警报中显示错误消息。谁能帮我?如果我在控制器中使用json_encode显示它,它可以获取数据。

2 个答案:

答案 0 :(得分:0)

url参数更改为:

url:"\"<?php echo base_url('c_dokter/odontogram/');?>" + id_pasien + '"',

并且id_pasien未定义,您必须定义它。

答案 1 :(得分:0)

最后我自己找到了。我更改控制器,在echo json编码和加载视图之间分开

$data['odontogram']=$this->m_pasien->DtOdontogram($id_pasien);
            if ($this->input->is_ajax_request())
            {
              echo json_encode($data);
              exit;
            }
            $data['pasien']=$this->m_pasien->DataPerPasien($id_pasien)->result();
            $data['sidebar']='member/dokter/sidebar_psn';
            $data['content']='member/dokter/odontogram';
            $this->load->view('member/dokter/main',$data);