欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Angularjs在360兼容模式下取数据缓存问题的解决办法

程序员文章站 2022-03-21 15:05:50
测试提了一个bug,在360浏览器兼容模式下,删除页面数据需要手动刷新浏览器才能看到最新的数据。首先要复现当时的问题,很容易就复现了,但是发现在360浏览器兼容模式下无法打...

测试提了一个bug,在360浏览器兼容模式下,删除页面数据需要手动刷新浏览器才能看到最新的数据。首先要复现当时的问题,很容易就复现了,但是发现在360浏览器兼容模式下无法打开开发者工具。好在经过反复重装之后,终于打开了开发者工具,经过跟踪发现,第一次删除数据时可以正常刷新,第二次或以后的删除将无法刷新,跟踪代码,发现通过异步请求的数据正常的返回并且绑定了。点击搜索按钮,也无法实现刷新,但是点击分页,发现可以翻页。初步推断是浏览器缓存了异步请求数据,跟踪比较返回的数据发现,推断是正确的。于是从网上搜到一段代码,设置为无缓存请求,代码如下:

app.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';
});

以上主要是我解决问题的思路和方法,期望能够帮助其他遇到这个问题的小伙伴们快速解决这个问题。