视频投票之每日一票-jquery.cookie.js篇
Posted zy_dream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视频投票之每日一票-jquery.cookie.js篇相关的知识,希望对你有一定的参考价值。
需求:不论是游客还是评委进入系统,每日只能对两类视频中的一个视频进行一次投票(点赞)
解决过程:
听到最后这个需求的时候,我就想,甲方是不是把这个系统当作了微信公众号的那些投票,我这是赤果果的 web 系统啊,和那些微信公众号能相提并论吗?不能。
一开始我的切入点是,获取那些访问用户的 ip,并记录保存。然后在数据库进行数据过期删除操作。
然而,难度在于1.在自己本地不能进行多用户访问获取 ip 的操作;2.mongo 数据库是可以设置过期时间自动删除列数据,但有局限且我自己尝试并没有成功
后来,明白了要从 cookie 入手的,只有这样才能做到设置 cookie 存在的时间为一天,以及投票行为的保留
jquery.cookie.js 为一把利器,度娘搜一下,前辈们的教学都很清楚。
我这里应用的是,当点击投票按钮之后,设置唯一的 cookie,只要再次点击任何投票按钮之后,判断这个唯一的 cookie 是否为空即可。
% for v in video1 %
$("#zan- v.id ").click(function ()
if ( $.cookie("grade1") != null)
alert('今日已投票,请退出');
else
if (this.name == "iconfont zan")
this.innerhtml = "<i class='iconfont unzan'></i>";
this.name = "iconfont unzan";
var likes = v.like_num +1;
var url = " url_for('grade.make_likes', id=project.id) ";
var data_dic =
'like': likes,
'video': ' v.id '
;
$.ajax(
type: 'POST',
url: url,
data: JSON.stringify(data_dic),
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
success: function (data)
window.history.back();
);
$.cookie("grade1", "weikeshipin", expires:1);
alert("投票成功");
);
以上是关于视频投票之每日一票-jquery.cookie.js篇的主要内容,如果未能解决你的问题,请参考以下文章