Usando questo pattern, mi è sempre funzionato ovunque AJAX...ti posto il codice

codice:
function NOMETUAFUNZIONE()
{ 
 xmlHttp=GetXmlHttpObject();
 if (xmlHttp==null)
 {
  alert ("Browser does not support HTTP Request")
  return
 } 
 var url="ILTUOURL.php";
 url = url+"&sid="+Math.random();
 xmlHttp.onreadystatechange=stateChanged;
 xmlHttp.open("GET",url,true);
 xmlHttp.send(null);
}


function stateChanged()
{
 if (xmlHttp.readyState==4)
 {
    returned = xmlHttp.responseText;
    // IN RESPONSE TEXT C'E' QUELLO CHE LA PAGINA LATO SERVER TI RESTITUISCE
 }

function GetXmlHttpObject()
{ 
 var objXMLHttp=null
 if (window.XMLHttpRequest)
 {
  objXMLHttp=new XMLHttpRequest();
 }
 else if (window.ActiveXObject)
 {
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 return objXMLHttp;
}