Я получаю 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'
})
});
HTTP_PROVIDERS
.HttpModule
и что он делает.Ответы:
Импортируйте HttpModule
В идеале вы разделяете этот код на два отдельных файла. Для дальнейшей информации читайте:
источник
app.ts
.main.ts
.> = Угловая 4,3
для введенного
HttpClientModule
Angular2> = RC.5
Импортируйте
HttpModule
в модуль, где вы его используете (например, здесьAppModule
:Импорт
HttpModule
очень похож на добавлениеHTTP_PROVIDERS
в предыдущей версии.источник
В выпуске Angular 2.0.0 от 14 сентября 2016 года вы все еще используете HttpModule. Ваш главный
app.module.ts
будет выглядеть примерно так:Тогда в вашем
app.ts
вы можете загрузить как таковой:источник
Добавьте HttpModule в массив импорта в файле app.module.ts перед его использованием.
источник
Начиная с п.5 вы должны сделать что-то вроде
источник
потому что это было только в разделе комментариев, я повторяю ответ от Эрика:
Я должен был включить
HTTP_PROVIDERS
источник
Импортируйте
HttpModule
в ваш файл app.module.ts.Также не забудьте объявить HttpModule при импорте, как показано ниже:
источник
Лучший способ - изменить декоратор вашего компонента, добавив Http в массив провайдеров, как показано ниже.
источник
Http
объект для каждого компонента. Лучше иметь один для приложения, что достигается путем его импорта наNgModule
уровне.Начиная с RC5 вам нужно импортировать HttpModule следующим образом:
затем включите HttpModule в массив импорта, как упомянуто выше Гюнтером.
источник
Просто включите следующие библиотеки:
и включите класс http в
providers
раздел следующим образом:источник
Если у вас есть эта ошибка в ваших тестах, вы должны создать Fake Service для всех сервисов:
Например:
И в beforeEach:
источник
**
источник
Все, что вам нужно сделать, это включить следующие библиотеки в tour app.module.ts, а также включить их в ваш импорт:
источник
Я столкнулся с этой проблемой в моем коде. Я только поместил этот код в мой app.module.ts.
источник
import { HttpModule } from '@angular/http';
пакет в вашем файле module.ts и добавьте его в ваш импорт.источник
Я просто добавляю оба из них в мой app.module.ts:
&
Теперь он отлично работает .... И не забудьте добавить в
@NgModule => Imports:[] array
источник