我正在使用EXCEPTION: No provider for Http!我的Angular应用程序.我究竟做错了什么?
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'
})
});
Run Code Online (Sandbox Code Playgroud)
Phi*_*nci 506
导入HttpModule
import { HttpModule } from '@angular/http';
@NgModule({
imports: [ BrowserModule, HttpModule ],
providers: [],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export default class AppModule { }
platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)
理想情况下,您将此代码拆分为两个单独的文件.欲了解更多信息,请阅
Gün*_*uer 56
> = Angular 4.3
为介绍 HttpClientModule
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
FormsModule, // if used
HttpClientModule,
JsonpModule // if used
],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
Angular2> = RC.5
导入HttpModule到您使用它的模块(例如AppModule:
import { HttpModule } from '@angular/http';
@NgModule({
imports: [
BrowserModule,
FormsModule, // if used
HttpModule,
JsonpModule // if used
],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
导入HttpModule与HTTP_PROVIDERS在先前版本中添加非常相似.
从rc.5起,你必须做类似的事情
@NgModule({
imports: [ BrowserModule],
providers: [ HTTP_PROVIDERS ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export default class AppModule { }
platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)
在2016年9月14日的Angular 2.0.0版本中,您仍在使用HttpModule.你的主要app.module.ts看起来像这样:
import { HttpModule } from '@angular/http';
@NgModule({
bootstrap: [ AppComponent ],
declarations: [ AppComponent ],
imports: [
BrowserModule,
HttpModule,
// ...more modules...
],
providers: [
// ...providers...
]
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)
然后在你的app.ts你可以引导如此:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/main/app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)
在使用之前,将HttpModule添加到app.module.ts文件中的导入数组中.
import { HttpModule } from '@angular/http';
@NgModule({
declarations: [
AppComponent,
CarsComponent
],
imports: [
BrowserModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }Run Code Online (Sandbox Code Playgroud)
因为它只是在评论部分我重复Eric的回答:
我必须包括 HTTP_PROVIDERS
小智 5
导入HttpModule您的app.module.ts文件。
import { HttpModule } from '@angular/http';
import { YourHttpTestService } from '../services/httpTestService';
Run Code Online (Sandbox Code Playgroud)
还记得在如下所示的导入下声明HttpModule:
imports: [
BrowserModule,
HttpModule
],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
210977 次 |
| 最近记录: |