您好,登錄后才能下訂單哦!
使用Ajax怎么對緩存進行處理?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
ajax是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術,可以通過在后臺與服務器進行少量數據交換,使網頁實現異步更新。
緩存
瀏覽器的一次請求需要從服務器獲得許多的css、img、js等相關文件,如果每次請求都把相關的資源文件加載一次,對帶寬、服務器資源、用戶等待時間都有嚴重的損耗,瀏覽器有做優化處理,其把css、img、js等文件在第一次請求成功后就在本地保留一個緩存備份,后續的每次請求就在本身獲得相關的緩存資源文件,可以明顯的加快用戶的訪問速度。
css、img、js等靜態文件可以緩存,但是動態程序文件如php文件就不能緩存,即使緩存我們也不要其緩存效果。
禁止瀏覽器對動態程序文件緩存的方法:
(1)給請求的地址設置隨機數[推薦]
(2)給動態程序設置header頭信息
給請求的地址設置隨機數,避免緩存效果:
<!--10-cache.html--> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> function f1(){ var xhr = new XMLHttpRequest(); xhr.open('get', './10.php?' + Math.random());//保證每次請求的地址都不一樣 xhr.send(null); } </script> </head> <body> <h3>ajax發起服務器端的請求(緩存處理)</h3> <input type="button" value="觸發" onclick="f1()"> </body> </html>
10.php
<?php $fp = fopen("./10.txt", "a");//追加方式打開10.txt文件(文件不存在會自動創建) fwrite($fp,"java");//給文件寫內容 fclose($fp);//關閉文件 ?>
給動態程序設置header頭信息:
10.php
<?php //設置header頭禁止瀏覽器緩存當前頁面 header("Cache-Control:no-cache"); header("Pragma:no-cache"); header("Expirse:-1"); $fp = fopen("./10.txt", "a");//追加方式打開10.txt文件(文件不存在會自動創建) fwrite($fp,"java");//給文件寫內容 fclose($fp);//關閉文件 ?>
看完上述內容,你們掌握使用Ajax怎么對緩存進行處理的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。