JQuery多次投票一票

时间:2012-10-13 07:05:47

标签: jquery validation cookies

我有一个网站,有多个字段(公司,产品),允许投票或投票结果,每次投票我只希望每个用户投票一次。但是,我不希望任何人注册这个权利。根据我的研究,如果是单一民意调查,一个cookie似乎是最好的选择,(看他们是否进行了调查,如果是这样添加一个cookie,并且不让他们投票,但是,如果有1000个民意调查,我怎么看?如果他们投票支持任何一次民意调查并且不让他们再次投票,那么其他民意调查?)Coockies主要用于识别单个用户,但我如何识别他们所调查的内容以及他们没有?各个事物由唯一的公司ID定义。 任何建议都会很好。这个网站上最重要的是匿名,所以我不能让他们注册。我也知道他们可以改变IP,或删除cookie或等等,等等。但我正在寻找一个非技术娴熟的用户的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以生成cookie标识符并存储在服务器上为此ID投票的民意调查。另一种方法是连接投票的民意调查ID并将其存储在cookie中。

编辑:添加JSFIDDLE示例实施:

$(document).ready(function() {

    var cookiename = "mypolls";

    $('input[type=button]').click(function() {

        var pollId = $(this).parent().attr('id');

        if ($.cookie(cookiename)) {

            var voted = $.cookie(cookiename);

            if (voted.indexOf('|' + pollId + '|') > -1) {

                alert('Already voted!');
                return;
            }
            else {

                voted += pollId + '|';

                // storing updated cookie
                $.cookie(cookiename, voted);
            }
        }
        else {

            // adding cookie
            $.cookie(cookiename, '|' + pollId  + '|');
        }

        alert('Thank you for your vote!');
    });
});​