私はフロントエンドをIE 11で実行しようとしていますが、この問題はChromeのIEのcuzでのみ発生するようです。とにかく毎回私はDBから読み返すために私のブラウザキャッシュをクリアしたくありません。私は通訳を追加しようとしました:角4 IEのキャッシュから読み取る
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";
}]);
それは動作しませんでした。その横に私はそれを追加する方法がわからないか、それは有用ではないかもしれないというようにです注射に従うことを
@Injectable()
export class NoCacheHttp extends Http {
constructor(backend: XHRBackend, options: RequestOptions) {
super(backend, options);
}
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
//make options object if none.
if (!options) {
options = { params: new URLSearchParams() };
}
//for each possible params type, append a random number to query to
force no browser caching.
//if string
if (typeof options.params === 'string') {
let params = new URLSearchParams(options.params);
params.set("k", new Date().getTime().toString());
options.params = params;
//if URLSearchParams
} else if (options.params instanceof URLSearchParams) {
let params = <URLSearchParams>options.params;
params.set("k", new Date().getTime().toString());
//if plain object.
} else {
let params = options.params;
params["k"] = new Date().getTime().toString();
}
return super.get(url, options);
}
}
を試してみました。!!! Prevent IE11 caching GET call in Angular 2 しかし、私はあなたがヘッダを設定することにより、手動でキャッシュを無効にする必要が
オムが、しかし、私はangularjs(バージョン1.x)のような最初のコードを免除見えることに気づいたが、2番目は明らかに角度2+です。そんなことがあるものか? –