我在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>
}
}