我的脚本是一个简单的喜欢和不喜欢按钮(称为反应)。它运行良好,但现在我想在投票通过后创建一个快速的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 );
最好不要使用cookie(我建议使用本地存储而不是cookie来存储数据,因为您可以更好、更大地存储JSON数据),因为它更多地用于临时数据。
但无论出于什么原因,你都不想。
我会将数据存储在一个JSON对象中,该对象带有一个用户标识符(但是您希望从彼此中识别用户)和一个注释id列表。
{
"users": {
"user_ids": {
"123": [
"111",
"222",
"333"
],
"456": [
"111",
"222",
"333"
]
}
}
}
以及在将其存储在cookie或本地存储之前只使用JSON.stringify()。
根据人们的建议,我在数据库中选择了一个简单的表,我记录ip、comment_id、日期等,然后我只检索给定ip的最后日期并进行检查。
谢谢!