Estoy obteniendo el EXCEPTION: No provider for Http!en mi aplicación Angular. ¿Qué estoy haciendo mal?
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.HttpModuley qué hace.Respuestas:
Importar el HttpModule
Idealmente, divide este código en dos archivos separados. Para más información lea:
fuente
app.ts.main.ts.> = Angular 4.3
para el introducido
HttpClientModuleAngular2> = RC.5
Importar
HttpModuleal módulo donde lo usa (aquí, por ejemplo, elAppModule:Importar
HttpModulees bastante similar a agregarHTTP_PROVIDERSen la versión anterior.fuente
Con la versión Angular 2.0.0 del 14 de septiembre de 2016, todavía está utilizando HttpModule. Su principal
app.module.tsse vería así:Luego, en su
app.tspuede arrancar como tal:fuente
Agregue HttpModule a la matriz de importaciones en el archivo app.module.ts antes de usarlo.
fuente
Desde rc.5 tienes que hacer algo como
fuente
porque fue solo en la sección de comentarios, repito la respuesta de Eric:
Tuve que incluir
HTTP_PROVIDERSfuente
Importar
HttpModuleen su archivo app.module.ts.También recuerde declarar HttpModule bajo importaciones como a continuación:
fuente
La mejor manera es cambiar el decorador de su componente agregando Http en la matriz de proveedores como se muestra a continuación.
fuente
Httpobjeto para cada componente. Es mejor tener una sola para la aplicación, que se logra importándola en elNgModulenivel.a partir de RC5 necesita importar el HttpModule de esta manera:
luego incluya el HttpModule en la matriz de importaciones como mencionó anteriormente Günter.
fuente
Solo incluya las siguientes bibliotecas:
e incluya la clase http en la
providerssección, de la siguiente manera:fuente
Si tiene este error en sus pruebas, debe crear un servicio falso para todos los servicios:
Por ejemplo:
Y en beforeEach:
fuente
** **
fuente
Todo lo que necesita hacer es incluir las siguientes bibliotecas en el recorrido app.module.ts y también incluirlo en sus importaciones:
fuente
Me enfrenté a este problema en mi código. Solo pongo este código en mi app.module.ts.
fuente
import { HttpModule } from '@angular/http';paquete en su archivo module.ts y agréguelo a sus importaciones.fuente
Solo agrego ambos en mi app.module.ts:
Y
Ahora funciona bien ... Y no olvides agregar
@NgModule => Imports:[] arrayfuente