estás usando ajax asíncrono con lo que cuando invocas al método onreadystatechange, tienes cuatro estados. tu solamente estás usando el último, pero cuando la petición y respuesta esté en los estados 1,2 y 3 puedes mostrar una imagen
- 1: Abierto. Se acaba de llamar al método send.
- 2: Enviando. Se está enviando la petición al servidor.
- 3: Recibiendo. Se está recibiendo la respuesta del servidor.