perchè ci sono un paio di errori di grammatica:

openreadystatechange=handleStateChange; non è open ma onreadystatechange

xmlHttp.responseText(); non è una funzione perciò è xmlHttp.responseText;

oltre a questo sembra che non crei l'oggetto; qui dipende dal browser che usi. io utilizzo la libreria zxml http://www.nczonline.net/downloads/zXml.zip

oppure questo codice:

Codice PHP:
function createXMLHttpRequest()
{
    
    if (
typeof XMLHttpRequest != "undefined")
    {
        return new 
XMLHttpRequest();
    }
    else 
    {
    
        var 
versioni = [ "MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; 
        
        for (var 
i=0i<versioni.lengthi++)
        {
            try
            {
                var 
oggetto=new ActiveXObject(versioni[i]);
                return 
oggetto;            
            }
            catch(
errore)
            {
                
//evito che l'errore blocchi la ricerca dell'oggetto giusto
            
}
        }
        
    }
    throw new 
Error("La libreria MSXML non è installata");

ha sempre funzionato.