📅  最后修改于: 2023-12-03 15:18:02.487000             🧑  作者: Mango
该错误通常出现在Angular应用程序中,表明您正在尝试使用HttpHandler但没有正确注入它的提供者。
import { HttpClientModule } from '@angular/common/http';
// ...
@NgModule({
imports: [
// ...
HttpClientModule,
// ...
],
})
export class AppModule {}
HttpModule
而不是HttpClientModule
。请升级到最新版本的Angular并使用HttpClientModule
,而不是HttpModule
:// 使用HttpClientModule
import { HttpClientModule } from '@angular/common/http';
// ...
// 避免使用HttpModule
import { HttpModule } from '@angular/http';
// ...
@NgModule({
imports: [
// ...
HttpClientModule,
// ...
],
})
export class AppModule {}
import { HttpClient, HttpHeaders } from '@angular/common/http';
// ...
export class YourService {
constructor(private http: HttpClient) {}
makeRequest() {
const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
const body = { ... };
return this.http.post('/api/your-endpoint', body, { headers });
}
}
如果您正在编写一个使用Angular的应用程序,并且在使用HttpClient
时遇到了NullInjectorError:没有 HttpHandler 的提供者!
错误,请仔细查看上述场景并确保您已正确注入HttpClientModule
或手动指定正确的HTTP参数。