簡體   English   中英

React jQuery AJAX全局緩存

[英]React jQuery AJAX global caching

我正在開發React應用程序,並且我使用jQuery來處理前端AJAX請求,但是我想像角度http.get(url, {cache: true })一樣緩存我的請求。 有什么方法可以幫助我對GET請求進行全局緩存。 我嘗試向請求添加cache: true屬性,但似乎無法正常工作。

例如我的代碼看起來像這樣

$.ajax(source, {
    method: 'GET',
    data: {
        c: count,
        p: period
    },
    cache: true,
    success: (response) => {

    }
})

我也嘗試過

$.ajaxSetup({
    cache:true
});

對於所有請求,但是很遺憾,我可以在Chrome devtools的“網絡”標簽下以及服務器日志中看到請求。 因此,如果數據和URL相同,我想防止執行相同的請求。 我可以自己創建一些存儲,但是我認為應該有默認的存儲方式。

提前致謝!

一種方法可能是檢查最后一個請求數據是否與當前相同。

 var lastRequestedData = {}; function myAjaxRequest(requestData) { if (JSON.stringify(requestData) != JSON.stringify(lastRequestedData)) { lastRequestedData = requestData; alert('Makes the ajax request: '+ JSON.stringify(requestData)); //$.ajax(...) } } myAjaxRequest({"c":1,"p":2}); // Fire myAjaxRequest({"c":1,"p":2}); // Not fire myAjaxRequest({"c":2,"p":3}); // Fire 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM