0

所以我之前发布了这个,在我隔离问题之前,并认为我会重新发布隔离问题,它发生在这两个函数之间。当我更新我的状态时,它会调用 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 的对象文档,但至少可以简单地说,可能导致这个问题的原因。

4

1 回答 1

0

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

顺便说一句,dottoro 是查找此类文档的绝佳网站:http: //help.dottoro.com/ljtutikf.php#supByObj

于 2013-07-20T01:36:58.097 回答