<div id="follow"><a href="#" class="follow <?php if($selfollow > 0){echo 'message';}?>" ><?php if($selfollow == 0){echo '关注';}else{echo '取消关注';}?></a></div>
上面是HTML
$('#follow').click(function(){if($(".follow").text() == "关注"){ var form_data = { pid:<?php echo $selproduct['pid'];?>, ajax:'1' }; $.ajax({ url:"<?php echo site_url('welcome/addfollow/');?>", type:'POST', data:form_data, success:function(msg){ $('#follow').html(); } });}else{ var form_data = { pid:<?php echo $selproduct['pid'];?>, ajax:'1' }; $.ajax({ url:"<?php echo site_url('welcome/delfollow/');?>", type:'POST', data:form_data, success:function(msg){ $('#follow').html(msg); } });}return false;})
上面是我写的jquery代码,功能实现了,但是为什么只有等手动刷新本页面才能看到结果呢?
下面的 CI控制器的写法,求指导。。
function addfollow(){ $pid = $this->input->post('pid'); if($this->input->post('ajax')){ }}
解决方案
好吧,问题我自己解决了 要感谢@joyqi 的提示
主要是是操作数据的时候没有返回值, $ajax重写一定要这样写
success:function(msg){ $('#follow').html(msg);}
返回的#follow 要单独写一个文件
CI 控制器要这样写:
function addfollow(){$pid = $this->input->post('pid');if($this->input->post('ajax')){$data['pid'] = $pid;$this->load->view('follow', $data);}}