Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从IE中的缓存读取Angular 4_Javascript_Angular_Caching - Fatal编程技术网

Javascript 从IE中的缓存读取Angular 4

Javascript 从IE中的缓存读取Angular 4,javascript,angular,caching,Javascript,Angular,Caching,我试图在IE 11上运行我的前端,这个问题似乎只发生在IE上,因为在Chrome中我没有它。无论如何,我不希望每次都清除浏览器缓存以从数据库中读取。我试图添加解释程序: myModule.config(['$httpProvider', function($httpProvider) { if (!$httpProvider.defaults.headers.common) { $httpProvider.defaults.headers.common = {}; } $httpProv

我试图在IE 11上运行我的前端,这个问题似乎只发生在IE上,因为在Chrome中我没有它。无论如何,我不希望每次都清除浏览器缓存以从数据库中读取。我试图添加解释程序:

myModule.config(['$httpProvider', function($httpProvider) {
if (!$httpProvider.defaults.headers.common) {
    $httpProvider.defaults.headers.common = {};
}
$httpProvider.defaults.headers.common["Cache-Control"] = "no-cache";
$httpProvider.defaults.headers.common.Pragma = "no-cache";
$httpProvider.defaults.headers.common["If-Modified-Since"] = "0";
}]);
但它不起作用。除此之外,我还试着跟随注射药物

这就像我不知道如何添加它,或者它可能没有用处。!!!
但是我不知道如何注册或使用我昨天知道的类

您必须通过设置标题手动禁用缓存。我在IE上遇到了sdamer问题,这段代码解决了它。在每个对后端的HTTP请求之前,请设置以下标头:

const headers = new Headers();
headers.append('Cache-Control', 'no-cache');
headers.append('Pragma', 'no-cache');
this.http.get('my url', {headers: headers}); // make the call

在较新版本的Angular中,由于HttpClient的原因,使用HttpHeaders而不是Headers时,我可以使用以下示例

let headers = new HttpHeaders({
  'Cache-Control': 'no-cache',
  'Pragma': 'no-cache',
  'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT'
})
return this.http.get('my url', {headers:headers})

嗯,但是,我注意到第一个代码豁免看起来像angularjs 1.x版本,但第二个显然是angularjs 2+。这怎么可能?我试过这个。http.getthis.getDropdownURL,{headers:headers}从'@angular/common/http'导入{HttpClient,HttpHeaders};从'@angular/http'导入{Headers};但我总是会遇到这样的错误:属性“headers”的类型不兼容。类型“Headers”不可分配给类型“Headers”。您是否在“网络”选项卡中检查了头的设置是否正确?
let headers = new HttpHeaders({
  'Cache-Control': 'no-cache',
  'Pragma': 'no-cache',
  'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT'
})
return this.http.get('my url', {headers:headers})