关于动作发生在请求前还是请求后(以点赞为例)

来源:互联网 发布:java for循环嵌套 编辑:程序博客网 时间:2024/05/22 04:36

做了个应用,里面是有点赞的,我想这还不简单,没想到在组长的快速点击下就出问题了。

就是如下的效果:
点赞前

点赞后

原先的想法及出现的问题

一开始我是觉得,点击之后发起请求,将数据传递给后端,等数据再传回来的时候就将赞的颜色变蓝并将点赞数加1。然后取消点赞也是一样的思路。
但是在快速点击下,数字竟然开始出现负数
具体原因是什么我也不是非常清楚,可以肯定的是请求速度跟不上导致的,并且应该跟ajax本身特性及js本身特性有关。

解决方法

后来我不采取在请求之后进行颜色改变及数量改变,而是在请求之前进行这些操作,就是beforesend。这下子就解决了该问题,数量不会再为负了。

终极决绝方法

终极解决方法就是数量在后端进行增减并传过来,这样就不会有问题了,当然这跟数据库的设计有关。

0 0
原创粉丝点击