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>