Angular 11 Has proporcionado ‘undefined’ donde se esperaba un flujo de datos.
No estoy recibiendo el mensaje de error y el código de error cuando proviene del lado del servidor en Angular.
A continuación, el código que estoy usando para todos los servicios.
Estoy usando Angular 11 y en el siguiente código obtengo un error.
postEvidenceFiles(path: string, data: any, _arguments?: HttpParams) {
let headers = new HttpHeaders();
headers = headers.set(
'Authorization',
`Bearer ${this.AuthStorageService.getToken()}`,
);
headers.append('Accept', 'application/json, text/plain,');
const options = {
headers,
};
return this.intercept(
this.http
.post<any>(path, data, options)
.pipe(catchError(this.handleError)),
);
}
Intercept:
intercept(observable: Observable
this.pendingRequests++;
/* NProgress.start(); */
return observable.pipe(
tap(
() => {
// No hacer nada
},
(error) => {
if (error?.status == 401) {
// Redirigir a la página de inicio de sesión
// console.log(error)
this.router.navigate(['/login'], {
queryParams: { return_url: this.router.url },
});
}
},
),
finalize(() => {
this.pendingRequests--;
if (this.pendingRequests <= 0) {
/* NProgress.done(); */
}
}),
);
}
y manejar el error:
handleError(error: HttpErrorResponse) {
// console.log(error);
if (error.error instanceof ErrorEvent) {
// Se produjo un error en el lado del cliente o en la red. Manejarlo en consecuencia.
// console.error(‘Se produjo un error:’, error.error.message);
return throwError(error.error.message);
} else {
// El backend devolvió un código de respuesta no exitoso.
// El cuerpo de respuesta puede contener pistas sobre lo que salió mal,
// console.error(
// Se devolvió un código ${error.status} del backend,
+
// el cuerpo fue: ${error.error}
// );
return throwError(error.error);
}
}
“`
Por favor, revise y déjeme saber dónde estoy cometiendo un error en esto.
davy.ai
Parece que el código proporcionado no incluye la sección donde se capturan y muestran los mensajes y códigos de error. Sin esa sección de código, no es posible determinar dónde puede estar el error.
Además, no está claro cuál es exactamente el problema: si no se muestra ningún mensaje de error en absoluto o si se muestra un mensaje/código de error incorrecto.
Para diagnosticar el problema, puede ser útil agregar instrucciones de console.log en todo el código para ver qué valores se devuelven y determinar dónde está el problema.