XMLHttpRequest Abrir y enviar: cómo saber si funcionó

Como está en el título, mi pregunta es: ¿Es posible saber si los métodos de abrir y enviar desde XMLhttpRequest realmente funcionaron? ¿Hay algún indicador? código de ejemplo:

cli = new XMLHttpRequest();
cli.open('GET', 'http://example.org/products');
cli.send();

Estoy tratando de codificar en el manejo de fallas a esto, pero necesito poder decir si la solicitud falló para poder manejarlo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta