解決js定時呼叫ajax只請求一次的問題

2021-08-26 12:14:51 字數 1089 閱讀 9572

1、 在使用 ajax get方法定時請求資料實時檢測結果的時候,發現取出的資料沒變化,經常反覆測試確認發現,該問題只在 ie 瀏覽器下會發生。 ---- 沒錯,又是 ie!

1、原來是 get 請求在ie瀏覽器中會被快取,從第二次請求開始,一直都是請求快取。2、參考資料: get 對比 post1、變更請求方式為post

var timeout = 0;

$.post('../certify/'+pooldata['bizno'],{},function(a)else

},'json')

2、禁用ajax快取: cache:false 。(預設 true,開啟快取)

$.ajax(,

url:'../certify/'+pooldata['bizno'],

type:'get',

datatype:'json',

cache:false,

success:function(a)

})

3、請求url後面增加時間戳

var now=new date().gettime();

var timeout = 0;

$.get('../certify/'+pooldata['bizno']+'?now='+now,function(a)else

},'json')

呼叫一次AJAX,傳送兩次請求

瀏覽器對複雜跨域請求的處理,在傳送真正的請求前,會先傳送乙個方法為options的預請求 preflight request 用於試探服務端是否能接受真正的請求,如果options獲得的回應是拒絕性質的,比如404 403 500等http狀態,就會停止post put等請求的發出。有三種方式會導致...

解決ajax只觸發一次不更新快取的問題

今天做乙個小型的 時發現,生成的靜態頁由於採用了用jquery的ajax從後台獲取使用者session,除錯的時候發現,獲取session的ajax方法只觸發一次,第一次到頁面,觸發 此時未登入 跳轉到登入頁登入後,再返回,或到其他頁,都沒有再觸發ajax。網上找了很久,才找到解決方法,原來是用ge...

為何ajax get方式的請求只執行一次?

為何ajax get方式的請求只執行一次?主要是因為ajax存在非同步快取的問題,ie8瀏覽器快取問題導致ajax的get請求只能執行一次,ajax本身自帶有實時非同步請求的功能,而ie快取導致請求時不會請求後台,會直接讀取快取的資料。解決方法 第一種 ajax get請求時,只需將cache設定為...