Prova così, ci sono due esempi in realtà. Il before send viene eseguito prima della richiesta ajax, ad esempio se vuoi dare all'utente conferma dell'avvio della richiesta lo fai qua, success invece è chiamata solo se la richiesta ajax ha successo, e comunque solo alla "restituzione" della pagina test.

Per inserire la pausa in success ho usato setTimeout

http://wwww.w3schools.com/jsref/met_win_settimeout.asp

Codice PHP:
 <script type="text/javascript">
 
            $(
document).ready(function() {

                $(
"#input_form").submit(function(){
                    var 
importo = $("#importo").attr('value');
                    var 
menu = $("#menu").attr('value');
                    var 
menu2 = $("#menu2").attr('value');
                    var 
menu4 = $("#menu4").attr('value');
                    var 
menu5 = $("#menu5").attr('value');
                    var 
valuta = $("#valuta").attr('value');
                    $.
ajax({
                        
url'test.php',
                        
type"POST",
                        
data"importo="+importo+"&menu="+menu+"&menu2="+menu2+"&menu4="+menu4+"&menu5="+menu5+"&valuta="+valuta,
                        
beforeSend: function( xhr ) {
                            $(
'div#result2').empty().html("Richiesta in corso...")
                        },
                        
success: function(data) {
                            $(
'div#result2').empty().html("Attendere 2 secondi")
                            
setTimeout(function(){
                                $(
"div#result2").html(data);
                            }, 
2000);
                        }
                
                    });
            
                    return 
false;
                }); 

            });
        
</script>