AngularJS在IE下取数据总是缓存问题的解决方法

本文实例讲述了AngularJS在IE下取数据总是缓存问题解决方法。分享给大家供大家参考,具体如下:

问题:

在使用AngularJS发出请求(GET)获取服务端数据,然后再绑定到页面中,你会发现在IE中总是显示原来的数据结果。这时候我们就会知道,IE做了缓存。

解决办法:

我们可以在AngularJS的配置中通过$httpProvider来设置其不缓存。具体如下所示:

 

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请求我们可以加入参数设置

 

var randomLogin=new Date().getTime()*Math.random();//参数随机数,避免缓存
$http.get("/getAccount?"+randomLogin).then(function (response) {
				
}, function () {
				
});

 

转载于:https://my.oschina.net/tbd/blog/795651

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值