gpt4 book ai didi

angular - 如何在导出的函数中禁用拦截器?

转载 作者:行者123 更新时间:2023-12-04 00:31:19 24 4
gpt4 key购买 nike

我使用 ngx-translator 进行本地化。当我尝试读取存储在本地文件夹中的本地化 json 文件时,我收到错误 HttpErrorResponse {headers: HttpHeaders, status: 404, statusText: "Not Found", url: "http:/host.com/api/assets/i18n/en.json",好的:假的,...}。我认为问题出在我在我的应用程序中使用的拦截器中。

// app.module.ts
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http, 'assets/i18n/', '.json');
}

如何禁用此功能中的拦截器?我试图将标题设置为 X-Skip-Interceptor,但它没有帮助。

最佳答案

你可以使用 HttpBackend

When injected, HttpBackend dispatches requests directly to the backend, without going through the interceptor chain.

在您的 app.module.ts 中,将 HttpBackend 作为 deps 而不是 HttpClient 传递

TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (HttpLoaderFactory),
deps: [HttpBackend],
},
}),

并修改HttpLoaderFactory如下

export function HttpLoaderFactory(handler: HttpBackend) {

const http = new HttpClient(handler);

return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

关于angular - 如何在导出的函数中禁用拦截器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50565769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com