2015年10月8日 星期四

IE-用ajax更新頁面,取回的不是及時的資料。

用ajax的 load 定時每30秒去更新頁面,發突發現IE取得的資料都是前一次的?? 
可是第一次更新後的資料是正確的?為什麼 在ajax Refresh 後卻是前一次得資料?
本來以為是DB有問題?但是查來查去都只有一筆資料,沒有資料重復的問題?
遇到x,七月過了?想太多,詳細的測過才發現,原來IE沒有發送 request,
但是ajax卻有取得資料??可是在IE用debug 模式,它每次都會發送新的request
真是欺騙社會大眾 ::><::。
拜了Google 大神後發現,IE有個壞毛病在使用ajax
傳送要求時,request一樣IE不發送去Server而是取暫存檔的資料回來用,
但其他的瀏覽器卻還是會直接發送出去。
因為是因為瀏覽器預設的不同
解決的方法
1.讓request不同,在原來的參數後多加一個t=datetime.Now ,
  讓IE認為request每次都不同。
  
2.ajaxSetup({cache:false}) =>最好推薦

3.修改瀏覽器設定

以上

參考

沒有留言:

張貼留言