純 js 讓瀏覽器不緩存 ajax 請求

開發(fā)「bufpay.com 個人即時到賬收款平臺」支付頁面需要用到 ajax 輪詢訂單的支付狀態(tài)。

現(xiàn)在瀏覽器對 ajax 的緩存策略遵循 http response header 里面的緩存設置,為了保證每次輪詢需要獲取最新的訂單信息,我們需要對 ajax 請求做一些修改。

如果你使用 jquery 可以直接在 document ready 的時候用

 $.ajaxSetup({ cache: false });

來讓每個 ajax 請求都在后面添加時間戳。

bufpay.com 的支付頁面為了最快的加載速度,就沒有使用任何第三方庫(jquery 庫壓縮后都有大概100K),所以這里就手動在每個 ajax 請求里面添加時間戳,代碼如下:

//純 js 實現(xiàn) ajax 請求            
var ajax = function(url, method, callback, params = null) {
                 var obj;
                 try {
                  obj = new XMLHttpRequest();
                 } catch(e){
                   try {
                     obj = new ActiveXObject("Msxml2.XMLHTTP");
                   } catch(e) {
                     try {
                       obj = new ActiveXObject("Microsoft.XMLHTTP");
                     } catch(e) {
                       alert("Your browser does not support Ajax.");
                       return false;
                     };
                   };
                 };
                 obj.onreadystatechange = function() {
                  if(obj.readyState == 4) {
                     callback(obj);
                  };
                 };
                 obj.open(method, url, true);
                 obj.send(params);
                 return obj;
             };

//請求的時候
var obj = ajax("{{domain}}/api/query/{{aoid}}?_=" + new Date().getTime(), "GET",  function(obj) {
    // do something
})

這樣,就可以啦。

插播廣告

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Ajax 表單提交 在HTML中提供了表單提交的功能,我們可以通過表單把數(shù)據從前臺提交到后臺 在HTML的DOM中...
    羊烊羴閱讀 782評論 0 4
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,057評論 25 709
  • 昨天去珠海,看了我夢寐以求的仙劍三舞臺劇,這是玩了這么多年的仙劍以來,第一次去看舞臺劇。 我太興奮了,八點鐘開始的...
    水輕揚閱讀 238評論 0 0
  • 如意進來時發(fā)現(xiàn)環(huán)翠仍呆立在原地,道“還不下去?!?環(huán)翠聽到聲音立刻湊過去,“你說宮主被那神秘男子救走后已有半年了,...
    半盞風月閱讀 1,918評論 2 3
  • 火燒云 晚飯過后,火燒云上來了。大白狗變成金的了、花變成五顏六色的了、爺爺和爸爸的胡須變成紅的...
    五帥六華閱讀 518評論 0 1

友情鏈接更多精彩內容