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

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

就是如下的效果:
点赞前

点赞后

原先的想法及出现的问题

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

解决方法

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

终极决绝方法

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值