我做了按钮的ajax功能,如果我点击它意味着'喜欢'并记录到数据库
然后按钮将改变为'不喜欢',如果再次点击它意味着删除记录。
AJAX成功功能不工作
在记录部分工作正常,但我被困在成功函数
这是我整个的JavaScript ..
<script type="text/javascript">
function addLikes(userFRIEND,action) {
$('.demo-tutor #tutorial-'+userFRIEND+' li').each(function(index) {
$(this).addClass('selected');
$('#tutorial-'+userFRIEND+' #rating').val((index+1));
if(index == $('.demo-tutor #tutorial-'+userFRIEND+' li').index(obj)) {
return false;
}
});
$.ajax({
url: "add_follow.php",
data:'userFRIEND='+userFRIEND+'&action='+action,
type: "POST",
beforeSend: function(){
$('#tutorial-'+userFRIEND+' .btn-likes').html("<img src='http://www.seedsofpeace.org/gif/loading.gif' />");
},
success: function(data){
var followings = parseInt($('#likes-'+userFRIEND).val());
switch(action) {
case "like":
$('#tutorial-'+userFRIEND+' .btn-likes').html(' <button type="button" class="btn btn-danger btn-xs unlike" onClick="addLikes('+userFRIEND+',\'unlike\')"> Unfollow </button>');
followings = followings+1;
break;
case "unlike":
$('#tutorial-'+userFRIEND+' .btn-likes').html(' <button type="button" class="btn btn-danger btn-xs like" onClick="addLikes('+userFRIEND+',\'like\')"> Follow </button>')
followings = followings-1;
break;
}
$('#likes-'+userFRIEND).val(followings);
if(followings>0) {
$('#tutorial-'+userFRIEND+' .label-likes').html(followings);
} else {
$('#tutorial-'+userFRIEND+' .label-likes').html('0');
}
}
});
}
</script>
我尝试把警报成功的功能和它的工作。 所以我觉得这些错误必须在
$('#tutorial-'+userFRIEND+' .btn-likes').html("blabla");
#tutorial - '+ userFRIEND +' .btn-喜欢
但要诚实我不不知道如何修复它
,这是用JavaScript
涉及的HTML(我会通过图片展示,便于寻找。)
非常感谢你的每一个建议。
尝试在开关之前的变量'action'的警报或console.log,以确保它在调用成功函数之前没有超出范围。 – Joe
我尝试了一个行动警报,它的工作。顺便说一句beforeSend功能是行不通的我也猜想有一些事情在div类和id路径出错@Joe –
这可能都是一个错字。在html图像中,你的div有'id =“tutorial-1;''。我想如果你从id属性中删除分号,那么选择器就会匹配。 – Joe