2012-06-08 89 views
0

在下面的一段JavaScript代碼中,我使用AJAX執行GetData.php。但是,當我刪除註釋以查看請求對象的狀態屬性時,雖然PHP腳本得到正確執行並且我的頁面正在隨着我的需要而改變,但它變成未定義。但我仍然需要國家財產。對這裏發生的事情有任何線索?AJAX XMLHttpRequest狀態undefined

function refreshPage() 
{ 
    var curr = document.getElementById('list').value; 
    var opts = document.getElementById('list').options; 
    for(var i=0;i<opts.length;i++) 
    document.getElementById('list').remove(opts[i]); 
    var request = new XMLHttpRequest(); 
    request.onreadystatechange= 
    function() 
    { 
     if(request.readyState == 4) 
     { 
      //alert(request.state); 
      //if(request.state == 200) 
      { 
      fillOptions(); 
      var exists = checkOption(curr); 
      var opts = document.getElementById('list').options; 
      if(exists == true) 
      { 
       for(var i=0;i<opts.length;i++) 
        if(curr == opts[i]) 
        { 
        opts[i].selected = true; 
        break; 
        } 
      } 
      else 
      { 
       opts[0].selected = true; 
      } 
      refreshData(); 
      } 
      /*else 
      { 
      alert(request.responseText); 
      //document.close();  
      }*/ 
     } 
    } 
    request.open("GET","GetData.php?Address=" + address + "&Port=" + port,true); 
    request.send(); 
} 
+0

哦,順便說一句,refreshData()是一個函數來更新我的網頁,它的工作正常。 – Cygnus

回答

3

你的意思是request.status不是request.state?
嘗試改變它到.status,它應該工作得很好:)

+0

恩,我是AJAX的新手。兩者有什麼不同?我讀過狀態/狀態應該是200才能知道腳本執行正確。應該檢查哪兩個? – Cygnus

+0

我不認爲.state是有效的,但我知道的.status是正確的。你試過了嗎? –

+0

好吧,我檢查了狀態和它的工作。我現在得到200。謝謝一噸:) – Cygnus