如题,因为没有用户系统,也没有数据库,无法存储,只想把每篇文章对应点赞数保存于本地,而游客点赞存于cookie,请问有什么方法可以实现呢?
最近浏览什么值得买网站的时候发现它的点赞好像就是我所说的(猜测)?网站:https://2.smzdm.com/p/137381/,如果我清除浏览器缓存后,就可以再一次点赞,但点赞数还是保存着的。想知道其原理和实现方法,先谢谢啦!~
如题,因为没有用户系统,也没有数据库,无法存储,只想把每篇文章对应点赞数保存于本地,而游客点赞存于cookie,请问有什么方法可以实现呢?
最近浏览什么值得买网站的时候发现它的点赞好像就是我所说的(猜测)?网站:https://2.smzdm.com/p/137381/,如果我清除浏览器缓存后,就可以再一次点赞,但点赞数还是保存着的。想知道其原理和实现方法,先谢谢啦!~
如果没有数据库 那在node中定义一个全局变量来存储吧,点击一次ajax去服务端+1,客户端记录cookie或者storage缓存点赞状态;node全局变量一个弊端就是机器重启后就不行了,所以你可以把这个变量写到文件中去存储
保存到本地就用文件保存啊,要做数据持久化肯定要个地方保存数据的,要么数据库 要么文件,你清理浏览器缓存能再次点赞是因为它数据库里保存的是你的cookieid,你把cookie清理掉了 它就重新给你分配一个新的cookieid。然后你就是一位新用户了
1 回答3.8k 阅读
2 回答900 阅读
1 回答508 阅读
1 回答425 阅读
点赞数还是保存着的,是因为后端服务存起来了。你每点击一次都会发一次请求。因为它是brower端存储是否可点赞flag,利用cookie,所以清除浏览器缓存,可以再一次点赞,但是没保存到服务端,刷新后还是之前的点赞数,除非当前会话结束,浏览器关闭或者换浏览器。