【发布时间】:2016-08-15 16:01:00
【问题描述】:
客户端代码
$(document).ready(function() {
$(" a .follow").click(function() {
var thiss = $(this);
var state = thiss.attr("data-state");
var id = thiss.attr("id");
var follow = thiss.attr("data-follow");
alert(value + id + flag);
$.post("<?php echo base_url()?>profile/insert_follow", {
state: state,
id: id,
follow: follow
}, function(data) {
if (thiss.hasClass("follow")) {
var abc = "<a class="btn btn-info btn-follow unfollow" data-state="2" data-follow="<? php echo $artist_info - > id ?>" data-id="<? php echo $this->session->userdata('username') ?>">Following</a>";
thiss.append(abc);
}
elseif(thiss.hasClass("unfollow")) {
var abc1 = "<a class="btn btn-info btn-follow follow" data-state="2" data-follow=" <? php echo $artist_info->id ?> " data-id=" <? php echo $this->session->userdata('username') ?> ">Follow</a>";
thiss.append(abc1);
}
$('.followers').children('span').html(data);
});
});
});
服务器端代码
public function insert_follow(){
$id=$_POST['id'];
$follows = $_POST['follows'];
$state = $_POST['state'];
$data1=array(
'id'=>$id,
'follows' =>$follows,
'state' =>$state
);
$query=$this->hbmodel->follow_artist($data1);
}
在这里,我尝试使用 var abc 中给定的 html 信息更新元素 .follow 的内容。但它不起作用。该代码还包括 ajax 的内容。也许问题可能出在我加载 jquery 和 bootstrap.min.js 文件时得到的 304 状态。这是codeigniter控制器中的功能。您可以使用this link 大致了解我要做什么
【问题讨论】:
-
"it's not working"并没有真正描述问题。 如何“不工作”?它失败的具体方式是什么?当您调试它时,它在哪里/如何确切地失败了? -
我发现您的语法存在多个问题。
elseif应该是else if,thiss应该是this,你不应该声明一个名为this的variable,是a.follow还是a .follow(巨大的差异),你应该分开你的@ 987654337@ 来自您的其余代码在另一个function -
您的控制台有错误吗?
var abc = "<a class="btn btn-info btn-follow unfollow"在我看来,这似乎是您混淆了引号。试试这个:var abc = '<a class="btn btn-info btn-follow unfollow" [...] '; -
我已经更改了 sublime 上的代码,但是由于同样的原因,浏览器仍然在线显示错误。语法错误:缺少;之前声明为什么?我在编辑@empiric 后保存了页面
标签: javascript php jquery ajax codeigniter