xander 发表于 2016-11-3 15:41:54

求助ajax问题

刚接触CI两天,请教下各位大神,我在使用AJAX做检索时不知道该怎么处理AJAX传递过来的值 因为我的视图页面是直接使用模型中的KEY,ajxa之后不知道怎么去刷新这个KEY数组/**********控制器**********************************************/

        public function index()
        {
   $cat=$this->input->get('c', TRUE);
          $area=$this->input->get('a', TRUE);
          $orderby=$this->input->get('o', TRUE);
          $page=$this->input->get('p', TRUE);
      $data['list'] = $this->list_model->get_job_list($cat,$type=1,$area,$orderby,$page);//数据库中读取信息
          if (empty($data['list']))
    {
      show_404();
    }
        $data['area']=$this->list_model->get_area();
        $data['cat']=$this->list_model->get_cat();
   $data['title'] = config_item('title');// 配置中读取标题
    $data['keyword']=config_item('keyword');//配置中读取关键词
   $data['describle']=config_item('describle');//配置中读取描述
   $data['icp']=config_item('icp');//配置中读取ICP
                $this->load->view('header',$data);
                $this->load->view('job/index',$data);
                        $this->load->view('footer');
                        return $data;
        }
/**********控制器**********************************************/
直接访问或者带参数GET都能正常显示

/*****************************视图**************************/
JS部分

        var type=$('#job_type').find('li');
        type.click(function(){
                var url="<?php echo site_url('jobs/index');?>";
                var typeid=$(this).attr("data-ajax");
                $.ajax({
                        type:"GET",
                        url:url,
                        data:{"c":typeid},
                        async:true,
                        success:function(msg){
                       
                           ////这里怎么搞?
                        }
                });
        });




HTML部分


<?php foreach ($list as $job_item): ?>

<?php echo $job_item['list_title'];//标题?>

<?php endforeach; ?>






/*****************************视图**************************/


Closer 发表于 2016-11-3 16:12:27

本帖最后由 Closer 于 2016-11-3 16:13 编辑

用 JQuery 去改變 html()
而 Ajax 常見於用 json 格式傳值

xander 发表于 2016-11-3 16:29:41

Closer 发表于 2016-11-3 16:12
用 JQuery 去改變 html()
而 Ajax 常見於用 json 格式傳值

意思是我在视图里所有数据使用JSON 而不是使用PHP数组吗?

Closer 发表于 2016-11-3 16:43:00

xander 发表于 2016-11-3 16:29
意思是我在视图里所有数据使用JSON 而不是使用PHP数组吗?
1.
你必須理解的是各個語言的處理順序
PHP, JS, HTML ... 等等

2.
Ajax 與 JQuery 都屬 Javascript 的支線下
那 JS 的特性是甚麼 ? 可以去釐清一下

3.
若頁面已呈現,而你想用後台的資料來改變前台的資訊
用 Ajax 是正確的,但你的好幫手是 JQuery,不會是 PHP
因為前述的順序問題

 

xander 发表于 2016-11-3 17:41:07

Closer 发表于 2016-11-3 16:43
1.
你必須理解的是各個語言的處理順序
PHP, JS, HTML ... 等等


感谢指点 我在控制器里把index方法复制了一下 方法名为ajax去除掉加载页首和页尾 然后在视图里 ajax的url指向ajax这个方法 success之后将整个body的html更新
        type.click(function(){
                $("#maskEl").trigger("click");
                var url="<?php echo site_url('jobs/ajax');?>";
                var typeid=$(this).attr("data-ajax");
                $.ajax({
                        type:"GET",
                        url:url,
                        data:{"c":typeid},
                        async:true,
                        success:function(msg){
                       
                        $('body').html(msg);
                       
                               
                        }
                });
        });

这样就成功了

余温 发表于 2016-11-10 10:04:58

打印你最后 得到的 msg啊 ,,,看具体数据啊,,,数据出来了,,,给前端搞
页: [1]
查看完整版本: 求助ajax问题