用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2100|回复: 5
收起左侧

[已解决] 求助ajax问题

[复制链接]
发表于 2016-11-3 15:41:54 | 显示全部楼层 |阅读模式
刚接触CI两天,请教下各位大神,我在使用AJAX做检索时不知道该怎么处理AJAX传递过来的值 因为我的视图页面是直接使用模型中的KEY,ajxa之后不知道怎么去刷新这个KEY数组/**********控制器**********************************************/

PHP复制代码
        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部分
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部分

HTML复制代码
 
<?php foreach ($list as $job_item): ?>
 
<?php echo $job_item['list_title'];//标题?>
 
<?php endforeach; ?>
 
 
 
复制代码




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


发表于 2016-11-3 16:12:27 | 显示全部楼层
本帖最后由 Closer 于 2016-11-3 16:13 编辑

用 JQuery 去改變 html()
而 Ajax 常見於用 json 格式傳值
 楼主| 发表于 2016-11-3 16:29:41 | 显示全部楼层
Closer 发表于 2016-11-3 16:12
用 JQuery 去改變 html()
而 Ajax 常見於用 json 格式傳值

意思是我在视图里所有数据使用JSON 而不是使用PHP数组吗?
发表于 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
因為前述的順序問題

 
 楼主| 发表于 2016-11-3 17:41:07 | 显示全部楼层
Closer 发表于 2016-11-3 16:43
1.
你必須理解的是各個語言的處理順序
PHP, JS, HTML ... 等等

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


这样就成功了
发表于 2016-11-10 10:04:58 | 显示全部楼层
打印你最后 得到的 msg啊 ,,,看具体数据啊,,,数据出来了,,,给前端搞

本版积分规则