為確保網(wǎng)頁(yè)展示的最新數(shù)據(jù),我們可以設(shè)置無(wú)緩存。
HTML幸運(yùn)的是,可以使用meta標(biāo)簽控制緩存,例如下方代碼:
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">
這些meta標(biāo)簽表示,我們?cè)诜?wù)器發(fā)出響應(yīng)時(shí),告訴瀏覽器不要緩存它。
而對(duì)于JavaScript,我們可以使用XMLHttpRequest來(lái)實(shí)現(xiàn)無(wú)緩存。下方代碼演示了如何使用XMLHttpRequest強(qiáng)制瀏覽器不使用緩存:
var xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); xhr.setRequestHeader('Pragma', 'no-cache'); xhr.setRequestHeader('Cache-Control', 'no-cache'); xhr.setRequestHeader('If-Modified-Since', '0'); xhr.send(null);
代碼中,我們?cè)O(shè)置了request header中的Pragma、Cache-Control和If-Modified-Since等字段,告訴瀏覽器此次請(qǐng)求不能使用緩存。
上述方法可以實(shí)現(xiàn)無(wú)緩存的效果,但也會(huì)增加請(qǐng)求次數(shù),可能對(duì)服務(wù)器造成額外的負(fù)擔(dān),需要根據(jù)實(shí)際需求進(jìn)行取舍。