當前位置:首頁 » 存儲配置 » angularjs存儲

angularjs存儲

發布時間: 2024-02-29 01:35:36

1. 如何解決AngularJs在IE下取數據總是緩存的問題

如果用AngularJs在IE下發出GET請求從後台服務取完Json數據再綁定到頁面上顯示的話,你可能會發現就算數據更新了,IE還是會顯示原來的結果。實際上這時候IE的確是緩存了hashtag,沒有再次去做Http GET請求最新的數據。
最直接的辦法是在後台擼掉OutputCache,但這種做法並不推薦,需要改每一處被Angular調用的地方,代價太大。這種問題應該在前端解決最好。研究了一會兒總結了最有效的解決方法,並不需要改後台代碼了。
在你的app config里擼一個$httpProvider進去,比如像我這樣,和路由可以配在一起,當然分開配也沒問題。
var config = ["$routeProvider", "$httpProvider", function ($routeProvider, $httpProvider) {
// Initialize get if not there
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
// Enables Request.IsAjaxRequest() in ASP.NET MVC
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
// Disable IE ajax request caching
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
$routeProvider.when("/", { templateUrl: "Manage/dashboard/index.cshtml" })
.when("/dashboard", { templateUrl: "Manage/dashboard/index.cshtml" })
.when("/dashboard/serverinfo", { templateUrl: "Manage/dashboard/serverinfo.cshtml" })
.when("/dashboard/emaillogs", { templateUrl: "Manage/dashboard/emaillogs.cshtml" })
// other code....
.otherwise({ redirectTo: "/" });
}];
app.config(config);

最關鍵的就是最後的禁用IE對ajax的緩存
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';

如果你想這樣寫,是會爆的:
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';

這樣會導致include指令載入的partial view擼不出來,所以不要作死了

2. angularjs路由如何禁止緩存

angular默認的模板載入都會被緩存起來,使用的緩存服務是$tempalteCache,發送模板請求的服務是$templateRequest,可以有兩種方案:
1.每次發送$http請求模板完成後,調用$tempalteCache.remove(url)或removeAll清除所有模板緩存;
2.使用$provide.decorator改寫原生的$templateRequest,禁掉緩存,$templateRequest的源碼,可以看到它默認使用$tempalteCache作為緩存,可以去掉它。

熱點內容
如何設置html密碼框 發布:2025-09-13 10:16:06 瀏覽:579
linux解鎖 發布:2025-09-13 10:10:48 瀏覽:638
android自定義導航欄 發布:2025-09-13 10:10:47 瀏覽:396
拼多多買的智能手錶密碼是多少 發布:2025-09-13 10:10:35 瀏覽:54
安卓手機4g在哪裡打開 發布:2025-09-13 10:05:58 瀏覽:585
伺服器硬碟什麼格式 發布:2025-09-13 09:46:03 瀏覽:989
如何更改配置顯示 發布:2025-09-13 09:43:33 瀏覽:43
去除idea反編譯注釋 發布:2025-09-13 09:43:31 瀏覽:936
android開發權威指南 發布:2025-09-13 09:25:02 瀏覽:238
64加密狗驅動 發布:2025-09-13 09:23:24 瀏覽:487