我很困惑..我有一个会抛出select选项值的ajax代码,这个代码:
$('#media-select').on('change',function(){
var dt = $(this).val();
alert('media-select='+dt);
$.ajax({
type: 'POST',
data: {media : dt},
url: "<?php echo site_url('admin/uploads/load'); ?>",
success: function(data){
$('#result-media-uploader').load(url);
}
});
});
比输出什么都没有,我检查后,那是错误的服务器导致数据是一个数组..这是print_r()的输出;
Array( [media] => document)
这是服务器中的完整代码..
if(!empty($this->input->post()))
{
$media = $this->input->post();
$data['bug'] = print_r($media);
$data['file'] = $this->db->where('post_type','attachment')->where('post_mine_type',$media)->get('cs_posts')->result();
$this->renderblank('admin/pages/uploads/uploads_load',$data);
}else{
$data['bug'] = var_dump($media);
$data['file'] = $this->db->where('post_type','attachment')->where('post_mine_type','image')->order_by('id','DESC')->get('cs_posts')->result();
$this->renderblank('admin/pages/uploads/uploads_load',$data);
}
所以,我修复了代码,我改变了变量$ media ..
$media = $this->input->post('media'); //before change: $media = $this->input->post();
请看一下......
我修复后,数据从ajax发出,但输出为NULL。如果我不改变$ media,我得到的数据,但如果我改变我丢失了数据..请帮助我,这让我感到困惑..提前感谢..!