[英]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.