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.

XMLHttpRequest.send() arroja un error a pesar del controlador onreadystatechange.

Estoy utilizando XmlhttpRequest para enviar solicitudes POST en localhost y la consola y la red de herramientas de desarrollo de Chrome para verificar las solicitudes.

Tengo dos métodos:
El Método1 envía las solicitudes POST.
RequestHandler maneja la respuesta de las solicitudes.

Cuando la solicitud tiene éxito (código 200), no lanza un error y el RequestHandler muestra un mensaje en la consola. Pero cuando la solicitud no tiene éxito, mi consola lanza un error a pesar de que el RequestHandler la maneje.

Por ejemplo, si establezco intencionalmente la dirección URL incorrecta, espero recibir una excepción de estado 404 Not Found y que el RequestHandler muestre un mensaje en la consola. A pesar de que esto sucede, todavía lanza el error en el método Send().

¿Por qué xmlhttprequest.send() lanza errores a pesar de manejar las respuestas en el evento onreadystatechange?

Método1 (Envía solicitudes):

RequestHandler (Maneja las respuestas):

Mensaje de la consola:

Error lanzado:

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    XMLHttpRequest.send() arroja errores a pesar de manejar las respuestas en el evento onreadystatechange porque el error que se está arrojando está relacionado con la mecánica del objeto XMLHttpRequest en sí, en lugar de la respuesta recibida del servidor. Cuando hay un error con el objeto XMLHttpRequest, el evento onreadystatechange aún se disparará, pero no tendrá acceso al objeto de respuesta si el error ocurrió antes de recibir la respuesta. Por lo tanto, es importante usar bloques try-catch cuando se trabaja con XMLHttpRequest, para asegurarse de que los errores sean capturados y manejados correctamente.

Comments are closed.