var XMLHttpObj = null;
function SendSOAPRequest(url, func, xmlString)
{
  if (XMLHttpObj==null)
  {
    if (Is.IE)
      XMLHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
    else // Netscape
      XMLHttpObj = new XMLHttpRequest();      
  }
    
  //if (Is.NS)
  //  netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    
  XMLHttpObj.open("POST", url, false);
  XMLHttpObj.setRequestHeader("Content-Type", "text/xml");
  XMLHttpObj.setRequestHeader("SOAPAction", func);
  XMLHttpObj.send(xmlString);  if(XMLHttpObj.status == 200)
  {
    var r = GetXmlNodeByString(XMLHttpObj.responseText);
    return r;
  }
  else
  {
//    alert("ERROR!\nHHTP Status: " + XMLHttpObj.status + "\n" + XMLHttpObj.statusText);
    return null;
  }
}

解决方案 »

  1.   

    var XMLHttpObj = null;
    function SendSOAPRequest(url, func, xmlString)
    {
      if (XMLHttpObj==null)
      {
        if (Is.IE)
          XMLHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
        else // Netscape
          XMLHttpObj = new XMLHttpRequest();      
      }
        
      //if (Is.NS)
      //  netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
        
      XMLHttpObj.open("POST", url, false);
      XMLHttpObj.setRequestHeader("Content-Type", "text/xml");
      XMLHttpObj.setRequestHeader("SOAPAction", func);
      XMLHttpObj.send(xmlString);  if(XMLHttpObj.status == 200)
      {
        var r = GetXmlNodeByString(XMLHttpObj.responseText);
        return r;
      }
      else
      {
    //    alert("ERROR!\nHHTP Status: " + XMLHttpObj.status + "\n" + XMLHttpObj.statusText);
        return null;
      }
    }
      

  2.   

    lion的代码不错,但不知道mozilla下能否运行? 另外SendSOAPRequest()的func参数如何使用啊?
    比如,服务端是个servlet,我想用JS定时取此servlet的某监控值?能否如下使用:
    ...
    var ret = SendSOAPRequest("/wep-aaa/monitorservet?do=warn",null,null);
    alert(ret);
    .....谢谢!