本文实例讲述了AngularJS在IE下取数据老是缓存问题解决方法。分享给你们供你们参考,具体以下:ajax
问题:缓存
在使用AngularJS发出请求(GET)获取服务端数据,而后再绑定到页面中,你会发如今IE中老是显示原来的数据结果。这时候咱们就会知道,IE作了缓存。dom
解决办法:ide
咱们能够在AngularJS的配置中经过$httpProvider来设置其不缓存。具体以下所示:code
ngApp.config(function ($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'; //禁用IE对ajax的缓存 $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache'; $httpProvider.defaults.headers.get['Pragma'] = 'no-cache'; });
针对ie,有时候缓存设置仍是会出现问题,针对get的ajax请求咱们能够加入参数设置get
var randomLogin=new Date().getTime()*Math.random();//参数随机数,避免缓存 $http.get("/getAccount?"+randomLogin).then(function (response) { }, function () { });