Ajax對緩存的處理方法實例分析

這篇文章主要介紹了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>
    <h2>ajax發起服務器端的請求(緩存處理)</h2>
    <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相關內容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結》、《JavaScript中ajax操作技巧總結》、《PHP+ajax技巧與應用小結》及《asp.net ajax技巧總結專題

希望本文所述對大家ajax程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章