A quanto mi par di capire la differenza tra il tuo codice e il mio è la rimozione di tutti gli header. Giusto? Facendo così non funziona.
Tuttavia penso che il problema sia nella funzione assegnata a:xmlhttp.onreadystatechange
infatti, come dicevo all'inizio se inserisco l'alert fila tutto liscio. Se invece inserisco i return al posto dell'alert non va!
NNon riesco a capire il problema ancora