使用HttpModule时出现静态注入错误

时间:2017-12-16 13:05:13

标签: typescript angular2-http

以下是我正在使用的代码片段:

addorders.component.ts

import { Component, OnInit } from '@angular/core';
import {Http} from '@angular/Http';
import {Headers} from '@angular/Http';
import 'rxjs/add/operator/map';




@Component({
  selector: 'app-addorders',
  templateUrl: './addorders.component.html',
  styleUrls: ['./addorders.component.css']
})

export class AddordersComponent implements OnInit {

  response;
  constructor(private http:Http) { }


.
. 
.
.
.

 post()
 {
    var json = JSON.stringify({productname:"Panasonic", price:100000});
    let header = new Headers();
    header.append('Content-Type','application/x-www-forms-urlencoded');
    this.http.post("http://localhost:3000/orders",json,{headers:header})
    .map(res=>res.json)
    .subscribe(data=>this.response=JSON.stringify(data))
 }



 select(c)
 {
    this.post();
 }




  ngOnInit() {
  }

}

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { AddordersComponent } from './addorders/addorders.component';
import {HttpModule} from '@angular/http'
import {Router,RouterModule} from '@angular/router';
import {FormsModule} from '@angular/forms'

//import { HttpClientModule, HttpClient } from '@angular/common/http'


@NgModule({
  declarations: [
    AppComponent,
    AddordersComponent
  ],
  imports: [
    BrowserModule,HttpModule,FormsModule,RouterModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

我在浏览器和控制台日志中得到一个空白页面

AppComponent.html:23错误错误:StaticInjectorError [Http]:   StaticInjectorError [HTTP]:     NullInjectorError:没有Http的提供者!     at NullInjector.get(core.js:993)     at resolveToken(core.js:1281)     在tryResolveToken(core.js:1223)     在StaticInjector.get(core.js:1094)     at resolveToken(core.js:1281)     在tryResolveToken(core.js:1223)     在StaticInjector.get(core.js:1094)     at resolveNgModuleDep(core.js:10878)     在NgModuleRef .get(core.js:12110)     at resolveDep(core.js:12608)

为什么即使在app.module.ts上添加所需代码后也会出现此错误?

0 个答案:

没有答案