2013-07-19 30 views
0

因此,我在前面發佈了這個問題,之前我分離了這個問題,並認爲我會重新發布與問題隔離,它發生在這兩個函數之間。當我更新我的狀態時,它會調用getCity函數,這看起來很好。電話正在發生。getXMLHTTP statusText變量在對象中未找到狀態!= 200

<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); 
    } 
} 

所以通話恰好這兩個功能,但對象返回getCity由getXMLHTTP一直沒有找到的狀態文本變量。這意味着沒有其他條件適用於它。

我看起來很高,很低,在這裏和其他地方或這個問題,只是達到了死衚衕,我甚至看了w3c的文檔的對象,但至少可以說,什麼可能會導致這個問題。

回答

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

+0

我每次碼出現這種情況,我盯着它太長,錯過了,我應該仔細閱讀螢火。我錯誤地鍵入了我的php文件的名稱,它是fincity,而不是findCity。儘管如此,感謝您的文檔鏈接,並幫助更新我的api請求。 – Lenois