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”)

 

posted @ 2017-12-25 17:18  Tinywan  阅读(936)  评论(0编辑  收藏  举报