1
对大多数HTTP获取请求的响应正被缓存在IE Edge中。 就我所知,它在其他浏览器中不会发生。 我在旧版本中修复了这个问题,但是如何在Angular2上做到这一点?Angular2:对HTTP获取请求的响应正被缓存在IE中
任何帮助,将不胜感激。
对大多数HTTP获取请求的响应正被缓存在IE Edge中。 就我所知,它在其他浏览器中不会发生。 我在旧版本中修复了这个问题,但是如何在Angular2上做到这一点?Angular2:对HTTP获取请求的响应正被缓存在IE中
任何帮助,将不胜感激。
一个常见的问题是为请求URL添加一个随机查询参数值。 您可以创建自定义Http
实现,为每个请求执行此操作。
@Injectable()
class NoCacheHttp extends Http {
constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions) {
super(_backend, _defaultOptions);
}
get(url: string, options?: RequestOptionsArgs) : Observable<Response> {
let newUrl = /* add some random or incrementing number query parameter to URL */
return super.get(newUrl, options);
}
post(...)
...
}
@NgModule({
imports: [HttpModule],
export: [HttpModule],
providers: [{provide: Http, useClass: NoCacheHttp}]
})
export class NoCacheHttpModule {}
@NgModule({
imports: [BrowserModule, NoCacheHttpModule],
declarations: [AppModule],
bootstrap: [AppModule]
})
export class AppModule {}
谢谢大家的帮助,我没有得到我应该把这些@NgModule秒。第二个应该在app.module中吗?和第一个单独的模块?你也可以请解释提供者:[{Http,useClass:NoCacheHttp}]? –
它似乎是正确的解决方案。我只有一个问题,没有ConnectionBackend的提供者!在AppComponent –
这很奇怪。如果你导入了'HttpModule','ConnectionBackend'应该可用。我会自己试试.. –