jQuery基础 (四)——使用jquery-cookie 实现点赞功能
jquery-cookie 下载地址:https://github.com/carhartl/jquery-cookie
直接上代码
html
<span class="jieda-zan zanok" data-id="{$vo['comment_id']}" data-userid="{$vo.user_id}" type="zan"> </span>
js
//点赞
$('body').on('click', '.jieda-zan', function () {
var $id = $(this).data('id');
var $userId = $(this).data('userid');
if(!$.cookie('c-'+$id+'u-'+$userId)){
ajax_post("/business/Index/posterZan", {'id':$id},
function (response) {
if (response.code == 200) {
$.cookie('c-'+$id+'u-'+$userId,$id+'-'+$userId);//改变flag初始值,确保函数只执行一次
layer.msg('恭喜,点赞成功', {
icon: 1,
time: 2000
}, function () {
parent.location.reload();
});
} else {
layer.msg('很遗憾,点赞失败', {
icon: 0,
time: 3000
}, function () {
console.log(22222222222222222);
});
}
}
);
}else{
layer.msg('您已经点过赞了',{
icon: 0,
time: 2000
});
}
});
遇到的问题
使用$.cookie()设置的键值对为数字时,设置成功,但是却获取不到,如下所示
$.cookie(123,123)
//获取输出为null
$.cookie(123)
正确的做法应该是,加一个前缀既可以
$.cookie(‘name-123’,123)
//获取输出为 123
$.cookie(“name-123”)