如何用Ajax CI实现 关注好友 功能
<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')){
}
}
Answers
好吧,问题我自己解决了 要感谢@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);
}
}