XMLHttpRequest不会在Firefox或Chrome中发送请求正文

时间:2011-06-30 06:19:07

标签: internet-explorer firefox xmlhttprequest

我正在使用XMLHttpRequest POST来调用SOAP服务。当我关闭缓存时,http请求在IE中正常工作。我可以调用一个函数并获取正确的soap响应xml。但是,当我在Firefox或Chrome中运行它时,http请求对象似乎没有任何正文内容。这是我的代码:

   var xmlhttp = null;
   if(window.XMLHttpRequest) {
    alert("supports XMLHttpRequest");
    xmlhttp = new XMLHttpRequest();
  } else {
    // Internet Explorer
    try
    {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
        xmlhttp.open("POST", "http://www.zazzycard.com:22080/eBizCard/ws/eBizCardService", true);
        xmlhttp.onreadystatechange = function() {
         if (xmlhttp.readyState == 4) {
          alert(xmlhttp.responseText);
          alert(xmlhttp.responseXML);
         }
        }
        xmlhttp.setRequestHeader("SOAPAction", "http://ws.ebizcard.com/AuthenticateUser");
        xmlhttp.setRequestHeader("Content-Type", "text/xml");
        xmlhttp.setRequestHeader("Content-Length", 1000);
        xmlhttp.setRequestHeader("Cache-Control", "max-age=0");
        xmlhttp.send(xml);

有谁知道为什么这不适用于Firefox?谢谢!

1 个答案:

答案 0 :(得分:-5)

我知道这是陈词滥调,但你真的可能想要使用jQuery,以避免所有if (window.XMLHttpRequest) ...的东西。