日期:2014-05-17  浏览次数:20447 次

ajax编码问题,在线等大侠帮忙!!!
	public function ajax_page(){
//header('Content-Type:text/html;charset=gbk');
error_reporting(E_ALL);
$page = $this->input->post('pg');
$where = $this->input->post('action');
$array = explode('_',$where);
$condition['group_id'] = $array[0];
$condition['status'] = $array[1];
$condition['username'] = @iconv( "UTF-8","GBK", $array[2]);
echo $condition['username'];
$condition['display'] = 15;
$condition['page'] = ($page-1) * 15;
$num = $this->member_model->Selcount($condition);
        $url = base_url()."/index.php/admin/member_list/";
$this->page->select = $where;
        $this->page_model->page($num,"15",$page,$url);
        $data['page'] = $this->page->pagenav;
$data['user'] = $this->member_model->Selmember($condition);
        $this->load->language('admin/member');
        $data['lang'] = $this->lang->line('HtmlLanguages');
     //print_r($data['user']);//exit;

    $this->load->view('admin/member_list_ajax', $data);

}



<script type="text/javascript"> 
$(function(){
    $('#begin_date').datepicker({dateFormat: 'yy-mm-dd'});
    $('#end_date').datepicker({dateFormat: 'yy-mm-dd'});
});
function checkdata(){
if((!$('#begin_date').val()&&$('#end_date').val())||($('#begin_date').val()&&!$('#end_date').val())){
alert('<?=$lang['date_error']?>');
return false;
}
}
function php300(page,where){
var ajax_url = "/admin/ajax_page/";
    where = encodeURIComponent(where);
$.ajax({
type: "POST",
url: ajax_url,
data:{ 
action: where,
pg: page
},
success: function(msg){
//alert(msg);
$("#ajax").html(msg);
},//$("#pager").html(msg);
error:function(){ 
$("#ajax").html("请求失败"); 
}
    });
   
}
</script>

------解决方案--------------------
接收的参数用urldecode解码试试
------解决方案--------------------
你的客户端用的是 jquery 吧?
jq 的 ajax 是不需要自己做 url 编码的
既然你已经有 where = encodeURIComponent(where); 了
那么就需要自己再做一次 url 解码
$condition['username'] = iconv( "UTF-8","GBK", uredecode($array[2]));