我的脚本是一个简单的喜欢和不喜欢的按钮(称为反应)。它运作良好,但现在我希望在投票结束时创建一个快速cookie,这样人们就不能再投票给这个特定的评论(即1年......或者当他们删除他们的cookie时。)
整个功能有效,但我对如何为每个特定评论添加cookie感到困惑?
(function( $ ) {
'use strict';
$( document ).ready(function() {
$(document).on('click', '.enco-reaction', function(e){
var data = {
'action': 'enco_reaction',
'reaction': $(this).data('reaction'),
'comment': $(this).data('id')
};
$.post(
ajax_object.ajax_url,
data,
function( obj ) {
if( obj.error ) {
alert( obj.error );
} else {
$('#enco-reaction-' + obj.reaction + '-' + obj.comment + ' .enco-reaction-count' ).html( obj.value );
}
},
'json'
);
});
});
})( jQuery );
答案 0 :(得分:0)
最好不要使用cookie(因为它可以更好和更大地存储JSON数据,我建议使用cookie存储数据的本地存储),因为它更多地用于临时数据。
但无论出于何种原因,你都不愿意。
我将数据存储在带有用户标识符的JSON对象中(但是您希望彼此标识用户)和注释ID列表。
{
"users": {
"user_ids": {
"123": [
"111",
"222",
"333"
],
"456": [
"111",
"222",
"333"
]
}
}
}
,只需将JSON.stringify()存储在cookie或本地存储中。
答案 1 :(得分:0)
根据人们的建议,我在我的数据库中选择了一个简单的表,然后记录ip,comment_id,date等,然后我只检索给定IP的最后日期并检查。
谢谢!