2013-02-24 50 views
0

所以,我有一个文本框n我的视图文件,获取员工代码和jquery在控制器中调用一个函数的员工详细信息,以立即填写同一视图页面中的一些字段。但我是股票,没有什么是真的发生,看到我的代码,并帮助我做到这一点。 谢谢!ajax jquery不返回选择查询结果

的jQuery:

$('#employee_code').change(function(){ 
    var em_code = $('#employee_code').val(); 
    if (em_code != ""){ 
     var post_url = "<?php echo base_url();?>index.php/it_inventory/get_employee_details/" + em_code; 
     $.ajax({ 
      type: "POST", 
      url: post_url, 
      success: function(name,position,department) 
      { 
       $('#employee_name').val(name); 
       $('#employee_position').val(position); 
       $('#employee_department').val(department); 
      } 
     }); 
    }   
}); 

CI控制器:

function get_employee_details($em_code="") { 
     header('Content-Type: application/x-json; charset=utf-8'); 
     echo(json_encode($this->it_inventory_model->get_employee_details($em_code))); 
    } 

CI型号

function get_employee_details($em_code){ 
     $q = "select name,position,department from employees where code=?"; 
     $query_em_detail=$this->db->query($q,$em_code); 

     $outputs = array(); 

     if($query_em_detail->result()){ 
      foreach ($query_em_detail->result() as $output) { 
       $outputs['name'] = $output->name; 
       $outputs['position'] = $output->position; 
       $outputs['department'] = $output->department_code; 
      } 
      return $outputs; 
     } else { 
      return FALSE; 
     } 
    } 
+0

当我通过通过员工行为规范URL“http://localhost/it_inventory/index.php/it_inventory/get_employee_details/11330”,它输出正确的数据开始以文本格式文件下载。 – goseo 2013-02-24 06:56:18

回答

1

你应该添加dataType在您的Ajax请求,如:

$.ajax({ 
    type: "POST", 
    url: post_url, 
    dataType: "json", 
    success: function(data) { 
     console.log(data); //response from your controller 
     console.log(data.name); //to get name 
    }, 
    error: function() { alert("Something went wrong!"); } 
}); 

和控制器:

function get_employee_details($em_code="") { 
    header('Content-Type: application/json',true); 
    echo(json_encode($this->it_inventory_model->get_employee_details($em_code))); 
} 
+0

似乎对我想要的没有影响,sudhir! – goseo 2013-02-24 07:04:25

+0

你在ajax请求的控制台中看到了什么?你看到正确的数据或任何错误..? – 2013-02-24 07:06:06

+0

我很抱歉,但我不知道如何在控制台中返回任何内容或?但正如我所说,当通过网址 – goseo 2013-02-24 07:13:51

0

我觉得success: function(name,position,department)应该是success: function(result)。然后,你需要使用result.nameresult.position

success: function(result) { 
    $('#employee_name').val(result.name); 
    $('#employee_position').val(result.position); 
    $('#employee_department').val(result.department); 
}