antes de hacer la petición mostras un div o lo que sea que contenga el texto o imagen (antes de llamar al método ajax o usa el callback beforeSend) y en la función de callback 'complete' que se lanza cuando la solicitud finaliza lo ocultas
 
si queres mostrar errores (de estado como 404) o mensaje de exito usa los callback success y/o error 
fijate doc 
http://api.jquery.com/jQuery.ajax/ auqne hay ejemplos con success pero es igual para los otros callback  
algo asi, supone que x.php  tarde 5 segundos, simulá son un sleep(5)    
Código PHP:
Ver original<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Prueba</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $.ajax({
                  url: 'x.php',
                  beforeSend: function(data) {
                    $('body').html('cargando');
                  },
                  complete: function(){
                    $('body').html('');
                  }
                });
            });
        </script>
        <style>
 
        </style>
    </head>
    <body>
 
    </body>
</html>