ajax的 IE cache 相關問題解決_AJAX教程

      編輯Tag賺U幣
      教程Tag:AjaxIEcache添加

      推薦:jquery ajax提交表單從action傳值到jsp實現小結
      pw.print(random);這里的random就是action要向jsp傳的值,在jsp中,success: function(text)這里的text就是接收從action傳過來的值,感興趣的朋友可以參考下哈

      運用Ajax做了一個名字檢驗,第一次是有效的,但是提交過后,再檢驗一次,結果就不對了,是由于IE的cache的原因。
      復制代碼 代碼如下:www.wf0088.com

      原理
      Firefox 每次 request 都會重新再回一次 server 取得最新的數據,但是 IE 就不一樣了,它會 cache 住之前得到的數據,只有第一次 request 時會真正的去 server 讀取數據,導致ajax數據不會隨時間而更新….
      解決方案(從網上收集的)
        1、在服務端加 header("Cache-Control: no-cache, must-revalidate"); 或者用下面的組合更好一些:
      復制代碼 代碼如下:www.wf0088.com

      header("Expires: Sat, 1 Jan 2005 00:00:00 GMT");
      header("Last-Modified: ".gmdate( "D, d M Y H:i:s")."GMT");
      header("cache-Control: no-cache, must-revalidate");
      header("Pragma: no-cache");

        2、在ajax發送請求前加上 xmlHttpRequest.setRequestHeader("If-Modified-Since","0");
        3、在ajax發送請求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
        4、在 Ajax 的 URL 參數后加上 "?fresh=" + Math.random(); //當然這里參數 fresh 可以任意取了
        5、第四種方法和第三種類似,在 URL 參數后加上 "?timestamp=" + new Date().getTime(); //推薦使用這種方式,我用的就是這種,個人認為比較方便。
        6、用POST替代GET:不推薦

      分享:ajax struts2 下拉框賦值(適合所有)
      此代碼適合所有下拉列表取值;一個項目所有的下拉列表只需要這一個公用方法,接下來為大家詳細介紹下具體實現步驟,感興趣的朋友可以參考下,希望可以幫助到你

      來源:模板無憂//所屬分類:AJAX教程/更新時間:2013-04-22
      相關AJAX教程