找不到对象中的getXMLHTTP statusText变量!= 200

时间:2013-07-19 23:46:22

标签: php javascript ajax html5 mysqli

所以我之前发布了这个,在我解决问题之前,并且认为我会重新发布隔离的问题,它发生在这两个函数之间。当我更新我的状态时,它调用了getCity函数,这看起来很好。电话正在发生。

  <script type="text/javascript">
    function getXMLHTTP() {
       var ret = false;
       try {
          x = new XMLHttpRequest();
       }catch(e) {
         try {
            x = new ActiveXObject("Microsoft.XMLHTTP");
         }catch(ex) {
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e1) {
                x = false;
            }
         }
      }
      return x;
    }
 function getCity(stateId)
 {
  var strURL="findCity.php?state="+stateId;
  var req = getXMLHTTP();
  if (req)
  {
    req.onreadystatechange = function()
     {
       if (req.readyState == 4) // only if "OK"
       {
          if (req.status == 200)
          {
              document.getElementById('citydiv').innerHTML=req.responseText;
          } else {
              alert("There was a problem while using XMLHTTP:\n" + req.statusText);//This Is the statement I am getting
          }
       }
     }
     req.open("GET", strURL, true);
     req.send(null);
  }
}

因此调用发生在两个函数中,但getXMLHTTP返回给getCity的对象有一个找不到的statusText变量。这意味着没有其他条件适用于它。

我看起来高低,在这里和其他地方或者这个问题,刚刚达到死胡同,我甚至看了w3c的文件对象,但至少可以说,这可能会导致这个问题。

1 个答案:

答案 0 :(得分:0)

基于此页面:http://msdn.microsoft.com/en-us/library/windows/desktop/ms759127(v=vs.85).aspx在MSXML3之前,看起来似乎没有在MSXML API中实现statusText属性。由于您正在调用MSXML2 API,我猜您的错误来自于此。此问题是否与特定浏览器或平台隔离?

顺便说一句,dottoro是一个很好的网站,可以查找有关此类文档的文档:http://help.dottoro.com/ljtutikf.php#supByObj