AJAX数据post在Codeigniter不工作


AJAX data post in Codeigniter not working

我在ajax张贴问题。我尝试获得类别时,选择父类别下拉。但数据是post.

my business controller

 public function getcat($id)
{
    echo "sdfad";
    $cr=new Categoryrepo();
    header('Content-Type: application/x-json; charset=utf-8');
    echo(json_encode($cr->getcatbyparentid($id)));
}

my category model

 public function getcatbyparentid($id)
{
    $this->db->select('id,name');
    $this->db->from('category');
    $this->db->where('parent',$id);
   return $query=$this->db->get();
}

ajax代码

 $(document).ready(function(){
   $("#parent").change(function(){
        var id=$('#parent').val();
        alert(id);
        $.ajax({
            type:"POST",
            url:"<?php echo base_url()?>business/getcat/"+id,
            success: function(data)
            {
                alert(data);
            }
        });
    });
});

请告诉我如何解决这个问题

现在工作......Json返回适当的数据像[{" id ":"8","名字":"移动"},{" id ":"10"、"名称":"mno"}]。

试试这个:

模型:

public function getcatbyparentid($id){
    $this->db->select('id,name');
    $this->db->from('category');
    $this->db->where('parent',$id);
    // just return query! In controller we will handle it.
    return $query;
}

控制器:

$this->load->model("Categoryrepo");
$html = $this->Categoryrepo->getcatbyparentid($id);
$content  = "<select name='yourName'>";
foreach($html->result() as $row){
    $content .= '<option value="'. $row->column_name1 .'">' . $row->column_name2 . "</option>";
}
$content .= "</select>";
$result = array('status' => 'ok', 'content' => $content);
echo json_encode($result);

按如下方式修改模型函数:

public function getcatbyparentid($id)
{
    $this->db->select('id,name');
    $this->db->where('parent',$id);
    $query=$this->db->get('category');
    if($query->num_rows() == 0)
    {
        return FALSE;
    }
    else
    {
        return $query->result() // or return $query->row() <if you want only one value to be return>
    }
}