AJAX没有获取数据

AJAX没有获取数据

问题描述:

我有一个动态的jQuery创建项目下拉列表。我有一个ajax调用,可以在下拉改变时获取项目详细信息(价格,单位)。AJAX没有获取数据

这里是我的代码:

$(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是空的,因为它提醒了空字符串。我也知道应该有值,因为我试过print_r($this->create->model->getItemDetails($item_id)并且有返回的值。

谢谢你的帮助。

+2

如果您在Chrome中是可以通过右键单击页面,然后点击“检查”打开开发者控制台。然后,您可以导航到“网络”选项卡,直接查看从请求中返回的实际数据。此外,请尝试控制台记录数据,而不是提醒。也许这将提供更多的洞察力到您的问题 –

+0

检查控制台和调试如上所述。除此之外,您还可以看看您的成功处理。从我看来,你的$。每个都没有达到预期的效果 – markoffden

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

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

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

因为getItemDetails是我的控制器方法