Saya mendapatkan EXCEPTION: No provider for Http!
di aplikasi Angular saya. Apa yang saya lakukan salah?
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'
})
});
HTTP_PROVIDERS
.HttpModule
, dan apa fungsinya.Jawaban:
Impor HttpModule
Idealnya, Anda membagi kode ini menjadi dua file terpisah. Untuk informasi lebih lanjut baca:
sumber
app.ts
.main.ts
.> = Angular 4.3
untuk yang diperkenalkan
HttpClientModule
Angular2> = RC.5
Impor
HttpModule
ke modul tempat Anda menggunakannya (di sini misalnyaAppModule
:Mengimpor
HttpModule
sangat mirip dengan menambahkanHTTP_PROVIDERS
di versi sebelumnya.sumber
Dengan rilis 14 September 2016 Angular 2.0.0, Anda menggunakan masih menggunakan HttpModule. Utama Anda
app.module.ts
akan terlihat seperti ini:Kemudian di Anda,
app.ts
Anda dapat bootstrap seperti:sumber
Tambahkan HttpModule untuk mengimpor array di file app.module.ts sebelum Anda menggunakannya.
sumber
Sejak rc.5 Anda harus melakukan sesuatu seperti
sumber
karena itu hanya di bagian komentar saya ulangi jawaban dari Eric:
Saya harus memasukkan
HTTP_PROVIDERS
sumber
Impor
HttpModule
dalam file app.module.ts Anda.Juga ingat untuk mendeklarasikan HttpModule di bawah impor seperti di bawah ini:
sumber
Cara terbaik adalah mengubah dekorator komponen Anda dengan menambahkan Http di array penyedia seperti di bawah ini.
sumber
Http
objek baru untuk setiap komponen. Lebih baik memiliki satu untuk aplikasi, yang dicapai dengan mengimpornya diNgModule
tingkat.per RC5 Anda perlu mengimpor HttpModule seperti:
kemudian sertakan HttpModule dalam array impor sebagaimana disebutkan di atas oleh Günter.
sumber
Cukup sertakan perpustakaan berikut:
dan sertakan kelas http di
providers
bagian, sebagai berikut:sumber
Jika Anda memiliki kesalahan ini dalam pengujian Anda, Anda harus membuat Layanan Palsu untuk semua layanan:
Sebagai contoh:
Dan di hadapanEach:
sumber
**
sumber
Yang perlu Anda lakukan adalah memasukkan pustaka berikut dalam tour app.module.ts dan juga memasukkannya ke dalam impor Anda:
sumber
Saya menghadapi masalah ini dalam kode saya. Saya hanya memasukkan kode ini di app.module.ts saya.
sumber
import { HttpModule } from '@angular/http';
paket dalam file module.ts Anda dan tambahkan dalam impor Anda.sumber
Saya hanya menambahkan keduanya di app.module.ts saya:
&
Sekarang berfungsi dengan baik .... Dan jangan lupa untuk menambahkan
@NgModule => Imports:[] array
sumber