我获得了EXCEPTION: No provider for Http!
在个人Angular应用程序中。 我究竟作错了什么? html
import {Http, Headers} from 'angular2/http'; import {Injectable} from 'angular2/core' @Component({ selector: 'greetings-ac-app2', providers: [], templateUrl: 'app/greetings-ac2.html', directives: [NgFor, NgModel, NgIf, FORM_DIRECTIVES], pipes: [] }) export class GreetingsAcApp2 { private str:any; constructor(http: Http) { this.str = {str:'test'}; http.post('http://localhost:18937/account/registeruiduser/', JSON.stringify(this.str), { headers: new Headers({ 'Content-Type': 'application/json' }) });
由于它只是在评论部分我重复Eric的回答: json
我必须包含HTTP_PROVIDERS
bootstrap
导入HttpModule 数组
import { HttpModule } from '@angular/http'; @NgModule({ imports: [ BrowserModule, HttpModule ], providers: [], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export default class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
理想状况下,您将此代码拆分为两个单独的文件。 欲了解更多信息,请阅 angular2
从rc.5起,你必须作相似的事情 app
@NgModule({ imports: [ BrowserModule], providers: [ HTTP_PROVIDERS ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export default class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
> = Angular 4.3 ide
对于引入的HttpClientModule
post
import { HttpClientModule } from '@angular/common/http'; @NgModule({ imports: [ BrowserModule, FormsModule, // if used HttpClientModule, JsonpModule // if used ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }
Angular2> = RC.5 ui
将HttpModule
导入到您使用它的模块(例如AppModule
: this
import { HttpModule } from '@angular/http'; @NgModule({ imports: [ BrowserModule, FormsModule, // if used HttpModule, JsonpModule // if used ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }
导入HttpModule
与在先前版本中添加HTTP_PROVIDERS
很是类似。
从RC5开始,您须要像这样导入HttpModule:
import { HttpModule } from '@angular/http';
而后在Günter上面提到的进口数组中包含HttpModule。