關於動作發生在請求前還是請求後(以點贊爲例)

做了個應用,裏面是有點讚的,我想這還不簡單,沒想到在組長的快速點擊下就出問題了。

就是如下的效果:
點贊前

點贊後

原先的想法及出現的問題

一開始我是覺得,點擊之後發起請求,將數據傳遞給後端,等數據再傳回來的時候就將讚的顏色變藍並將點贊數加1。然後取消點贊也是一樣的思路。
但是在快速點擊下,數字竟然開始出現負數
具體原因是什麼我也不是非常清楚,可以肯定的是請求速度跟不上導致的,並且應該跟ajax本身特性及js本身特性有關。

解決方法

後來我不採取在請求之後進行顏色改變及數量改變,而是在請求之前進行這些操作,就是beforesend。這下子就解決了該問題,數量不會再爲負了。

終極決絕方法

終極解決方法就是數量在後端進行增減並傳過來,這樣就不會有問題了,當然這跟數據庫的設計有關。

發佈了39 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章