在IE 11 Angular 5缓存问题中

时间:2019-02-20 06:53:31

标签: angular internet-explorer caching browser-cache

我们正在使用Angular 5,在我们的项目中,我们正在使用REST创建/修改UI中的值并存储在数据库中。

修改UI后,单击“保存”。该用户界面未显示修改后的用户界面,而是上一个用户界面。在IE(ctrl + F5)中进行硬刷新时,它将进行REST调用并显示正确的值。仅在IE 11和Chrome中会发生这种情况。

请让我知道我们是否可以通过代码控制仅对此应用程序的清除缓存,或者任何其他建议。

谢谢 vinod

1 个答案:

答案 0 :(得分:1)

要解决您的问题,您需要覆盖RequestOptions并按如下所示设置'Cache-Control': 'no-cache',

custom-request-option.ts

import { Injectable } from '@angular/core';
import { BaseRequestOptions, Headers } from '@angular/http';

@Injectable()
export class CustomRequestOptions extends BaseRequestOptions {
    headers = new Headers({
        'Cache-Control': 'no-cache',
        'Pragma': 'no-cache',
        'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT'
    });
}

you.app.module.ts

@NgModule({
    ...
    providers: [
        ...
        { provide: RequestOptions, useClass: CustomRequestOptions }
    ]
})

希望此帮助!