首页 > 解决方案 > 如何在codeigniter中使用ajax从控制器获取数据以查看

问题描述

看法:

<select class="form-control" id="emp_id" name="emp_id">
<option value="">--- Select Emp id ---</option>
  <?php foreach($employee as $emp){?>
     <option value="<?php echo $emp->id;?>"><?php echo $emp->id;?></option>
  <?php }?>
</select>
<div id="home"></div>

<script>
$('select[name="emp_id"]').on('change', function() {
var id=$("#emp_id").val();
$.ajax({
    url: "<?php echo base_url(); ?>/employee_master"+id,
    dataType: 'json',
    type: 'post',
    success: function(data) {
      alert("hi");
      console.log(data.res);
    },
    error: function( error )
    {
        alert( error );
    }
});
   return false;
});
</script>

控制器:

public function employee_master($id)
{
    $data['res']=$this->payslip_model->fetch_employee_name($id);
    echo json_encode($data);
}

模型:

public function fetch_employee_name($id)
{
   $this->db->select('name');
   $this->db->from('employee_master');
   $this->db->where('id',$id);
   $res=$this->db->get();
   return $res->result();
}

在上面的代码中,我在 ajax 中使用 dataType:'json',它总是会在 ajax 中执行错误函数。如果我不使用 dataType:'json' 它工作正常,但我不知道如何从控制器检索数据到ajax。请帮我找出错误。

标签: ajaxcodeigniter-3

解决方案


是的,当您使用数据类型 json 时,它会给您错误。这意味着在 ajax 调用中,数据将以 json 格式传递给控制器​​。当您传递一个简单的发布数据时...

删除数据类型 json。一切都好...

还有更多错误使用这条线

url: "<?php echo base_url(); ?>/contorller_name/employee_master/"+id,

推荐阅读