AJAX没有获取数据

时间:2016-03-03 11:20:32

标签: javascript jquery ajax

我有一个动态jquery创建的项目下拉列表。我有一个ajax调用,可以在下拉列表发生变化时获取项目详细信息(价格,单位)。

这是我的代码:

{
 "error": {
  "errors": [
   {
    "domain": "",
    "reason": "",
    "message": "",
    "locationType": "",
    "location": ""
   }
  ],
  "code": <SOME_CODE>,
  "message": ""
 }
}

这是我的控制器

$(document).on('change', '#create_item', function(){
    var item_id = $('#create_item').val();
    alert(item_id);
    $.ajax({
        type : 'POST',
        url : '<?php echo base_url('Create_controller/getItem'); ?>',
        data : { item_id : item_id },
        dataType : 'json',
        success : function(data){
            var item_data = data;
            alert(data);
            $.each(item_data, function(index, value){
                if(index == 0){
                    $('#create_unit').val(value.unit);
                    $('#create_price').val(value.price);
                }
            })
        },
        error : function(errorw){
            alert('Error');
        }
   });
});

这是我的模特

public function getItemDetails(){
    $item_id = $this->input->post('item_id');
    $item_details = $this->create_model->getItemDetails($item_id);
    echo json_encode($item_details);
}

我知道我的function getItemDetails($item_id){ $this->db->select('unit, price'); $this->db->from('item'); $this->db->where('id', $item_id); $query = $this->db->get(); return $query->result(); } 为空,因为它会提醒空字符串。我也知道应该有值,因为我已尝试data并且返回了值。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我犯了一个非常简单的错误。我换了

url : '<?php echo base_url('Create_controller/getItem'); ?>',

url : '<?php echo base_url('Create_controller/getItemDetails'); ?>',

因为getItemDetails是我的控制器方法