Saltar al contenido

No se puede encontrar el módulo ‘@angular/common/http’

Este grupo de especialistas luego de algunos días de trabajo y recopilación de de datos, hemos dado con los datos necesarios, nuestro deseo es que resulte útil para ti en tu trabajo.

Solución:

Importante: HttpClientModule es para Angular 4.3.0 y superior. Controlar @Maximus’ comentarios y @Pengyy’s responde para mas informacion.


Respuesta original:

necesitas inyectar HttpClient en su componente/servicio no el módulo. si importas HttpClientModule en tus @NgModule

// app.module.ts:
 
import NgModule from '@angular/core';
import BrowserModule from '@angular/platform-browser';
 
// Import HttpClientModule from @angular/common/http
import HttpClientModule from '@angular/common/http';
 
@NgModule(
  imports: [
    BrowserModule,
    // Include it under 'imports' in your application module
    // after BrowserModule.
    HttpClientModule,
  ],
)
export class MyAppModule 

Así que cambia

constructor(private httpClient: HttpModule) 

a

constructor(private httpClient: HttpClient) 

como está escrito en la documentación


Sin embargo, dado que importó el HttpModule

necesitas inyectar constructor(private httpClient: Http) como @maximus indicado en los comentarios y @Pengyy en esta respuesta.

Y para obtener más información sobre las diferencias entre HttpModule y HttpClientModulerevisa esta respuesta

Actualización importante:

HttpModule y Http de @angular/http ha sido en desuso desde Angular V5debe de usar HttpClientModule y HttpClient de @angular/common/http en su lugar, consulte REGISTRO DE CAMBIOS.


Para versión Angular anterior de **@4.3.0debe inyectar Http de @angular/httpy HttpModule es para importar en la importación de su NgModule array.

import HttpModule from '@angular/http';

@NgModule(
  ...
  imports: [HttpModule]
)

Inyectar http en el componente o servicio

import  Http  from '@angular/http';

constructor(private http: Http) 

Para versión Angular después (incluir) 4.3.0puedes usar HttpClient de @angular/common/http en vez de Http de @angular/http. No olvides importar HttpClientModule en tu NgModulela importación array primero.

Consulte la respuesta de @echonax.

nota: ¡Esto es para @angular/http, no para @angular/common/http solicitado!

Solo importe de esta manera, FUNCIONA perfectamente:

// Import HttpModule from @angular/http
import HttpModule from '@angular/http';


@NgModule(
  declarations: [
    MyApp,
    HelloIonicPage,
    ItemDetailsPage,
    ListPage
  ],
  imports: [
    BrowserModule,
    HttpModule,
    IonicModule.forRoot(MyApp),
  ],
  bootstrap: [...],
  entryComponents: [...],
  providers: [... ]
)

y luego construyes el servicio.ts así:

constructor(private http: Http)  

getmyClass(): Promise 
  return this.http.get(URL)
             .toPromise()
             .then(response => response.json().data as myClass[])
             .catch(this.handleError);

Comentarios y calificaciones de la guía

Si estás contento con lo expuesto, puedes dejar una noticia acerca de qué te ha impresionado de esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *