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

[已解决] 关于jquery ajax 的疑问

  [复制链接]
发表于 2009-12-9 23:40:23 | 显示全部楼层 |阅读模式
                     $.ajax({
                                type:"post"
,
                               data: "picID=" + $(this).attr("id")
,
                               url:"<?=site_url('
photogallery/getPhoto')?>",
                                success: function(result
) {
  

alert(

result


)
;  },                                                            
                                error: function
()   {alert("ajax error");}
                     });



   Controller层:
function getPhoto
()
{
         
//query the picture from model
          $query = $this->photomodel->getPic($this->input->xss_clean($this->input->post('picID')
));
                        
          if($query->num_rows() > 0
)
         
{
                      $row = $query->row()
;
                      $output = "<divclass='winBar'><ul><li>_</li><li>x</li></ul></div><divclass='winContent'><div id='photo_title'>" . $row->photoName . "</div><div id='photo_item'>" . $row->photoLink . "</div><div id='photo_comment'>" . $row->comment . "</div></div>"
;
            
}
            
else
                  $output = "no picture was found"
;
         
echo
($output);  
}


我想问的是,如何实现在
  Controller层 不写“echo” 而是是 “return” ?

因为我换成
“return” 的时候, Ajax不能获取返回值 ! 但是又想不到能在view视图里面输出的方法......................


发表于 2016-2-25 11:06:02 | 显示全部楼层
你用json返回这个图片地址后,然后在echo出来到view,然后$.parseJSON,然后再appendTo.....
发表于 2015-5-19 17:12:49 | 显示全部楼层
你既然一定要用AJAX这种异步方式,可以用JSON返回 return是肯定不行的
发表于 2016-1-7 18:06:36 | 显示全部楼层
这个有点吊
发表于 2009-12-10 00:03:09 | 显示全部楼层
$output 为什么不能放到视图呢?
 楼主| 发表于 2009-12-10 00:12:48 | 显示全部楼层
我就是不知道怎么放啊?  我现在脑袋转不了弯~  
getPhoto()  和 $output 都是Ajax部分, 难道在getPhoto()里面重新导入视图$data['output '] = $output;  $this->load->view('contents',$data); 之后再输出? 还是??
发表于 2009-12-10 08:58:50 | 显示全部楼层
$this->output->append_output($output);
 楼主| 发表于 2009-12-10 22:03:24 | 显示全部楼层
哇塞,的确可以了,太神奇了,问题是,append_output,请问,这个东西是从哪里来的?在文档里面搜不到啊,输出类里面也没有? 您可以讲一讲吗?
发表于 2009-12-10 23:07:58 | 显示全部楼层
这肯定是 output 类里的方法啊。
看起来是未公开的 API 吧。
 楼主| 发表于 2009-12-11 00:05:00 | 显示全部楼层
还有未公开的api? 什么样的原因没有公开呢? 论坛里面有没有地方讲讲未公开的api呢? 哈哈 个人意见~~  总之 问题解决了很开心,再次感谢您的帮助,还有咱们的版主!
发表于 2009-12-11 01:42:28 | 显示全部楼层
呵呵 windows 都有很多未公开 api,CI 当然也有。
至于为什么不公开,那就要问作者了,呵呵。
 楼主| 发表于 2009-12-11 03:03:38 | 显示全部楼层
看来找个组织还是很有必要性的!
 楼主| 发表于 2009-12-11 04:30:34 | 显示全部楼层
本帖最后由 天梯梦 于 2009-12-11 04:31 编辑

哈哈,我找到了!!

http://www.tig12.net/downloads/a ... I_Output.class.html
http://www.tig12.net/downloads/a ... thods_append_output

看来的确是有遗漏的啊~~

本版积分规则