最近項(xiàng)目中遇到了一個(gè)問(wèn)題:用戶(hù)從一個(gè)頁(yè)面點(diǎn)擊打卡按鈕跳到另一個(gè)頁(yè)面去打卡,打完卡后返回這個(gè)頁(yè)面,按鈕還是顯示未打卡的狀態(tài),
我的解決方案是監(jiān)聽(tīng)頁(yè)面的pageshow事件,然后重新請(qǐng)求接口,更新DOM,
然后奇怪的事情發(fā)生了,打完卡返回后請(qǐng)求的接口返回的還是未打卡的狀態(tài),但是強(qiáng)制刷新整個(gè)頁(yè)面的話(huà)數(shù)據(jù)又是已打完卡的
查了很久的資料,才發(fā)現(xiàn),返回接口responce header中的cache-control的值是private,如果是后退到頁(yè)面,是不會(huì)重新請(qǐng)求的,要no-cache才會(huì)重新請(qǐng)求。
最后我的解決方案就是加了個(gè)時(shí)間戳