es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo agregar una función de eliminación al HttpClient de Angular

He estado trabajando en Angular que se vincula a mi API de back-end. Puedo recuperar mi lista de negocios desde el back-end y publicar reseñas, etc. Pero tengo problemas para eliminar registros. Llamo a la función de eliminación en mi backend y no sucede nada. Aquí está mi código como referencia:

web.service.ts:

public deleteBusiness(id: any){
    return this.http.delete('http://localhost:5000/api/v1.0/businesses/' + this.id);
}

business.component.ts:

deleteBusiness(){
  this.webService.deleteBusiness(this.route.snapshot.params['id']).subscribe(
    (resp) => {
      console.log(resp);
    },
    (err) => console.log(err)
  );

y el botón html:

<button type="button" class="btn btn-danger" (click)="deleteBusiness">Delete</button>

Siento que podría ser algo relacionado con las 2 líneas de código que he marcado con ‘**’ como referencia. Cualquier ayuda o indicación en la dirección correcta sería apreciada, gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que podría haber un problema con el parámetro ID que se pasa en el método deleteBusiness en web.service.ts. En esta línea:

    return this.http.delete('http://localhost:5000/api/v1.0/businesses/' + this.id);

    parece que se está utilizando this.id en lugar del parámetro id que se pasa en el método. Intenta cambiarlo por:

    return this.http.delete('http://localhost:5000/api/v1.0/businesses/' + id);

    Además, en el botón HTML, faltan los paréntesis para llamar realmente el método deleteBusiness. Cambia esta línea:

    <button type="button" class="btn btn-danger" (click)="deleteBusiness"> Delete</button>

    a:

    <button type="button" class="btn btn-danger" (click)="deleteBusiness()"> Delete</button>

    Con estos cambios, debería poder eliminar registros correctamente desde la API del backend.

Comments are closed.