2015-10-15 120 views
1

在我的Java Web應用程序中,我正在調用ajax請求,如下所示。XMLHttpRequest的空響應

<script type="text/javascript"> 
function selectTableHandler() { 
    console.log("indise selectTableHandler"); 
    var xhttp = new XMLHttpRequest(); 

    var selectedTable = document.getElementById('selectTable').value; 
    alert(selectedTable); 
    xhttp.open("GET", "populateTableColumList.action?tablename=" 
      + selectedTable, true); 
    xhttp.send(); 
    console.log(xhttp.responseText); 
} 
</script> 

該操作正在調用並返回狀態碼200,如下所示。

Remote Address:[::1]:8080 
Request  URL:http://localhost:8080/ReportBuilder/populateTableColumList.action?tablename=films 
Request Method:GET 
Status Code:200 OK 

但是,它給出了XMLHttpRequest的空響應。該行console.log(xhttp.responseText);什麼都不打印。另外,控制檯日誌中沒有錯誤。

任何建議,將不勝感激。

感謝

+0

Firts建議[訪問此頁面(https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest?redirectlocale=en-US&redirectslug=DOM%2FXMLHttpRequest)和[這一個](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest) – Anonymous0day

回答

2

您需要添加一個回調函數來獲取Ajax請求的結果。

xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
    console.log(xhttp.responseText); 
    } 
} 
2

如果你想使用香草JS,你必須重視的事件處理程序onreadystatechange將處理響應,但我的建議,而不是使用香草JS,使用庫如jQuery來啓動ajax請求。它會更容易,並且在所有類型的瀏覽器上運行都沒有問題。見here。如果你想香草JS,這裏是一個示例代碼段:

xhttp.onreadystatechange = function() { 
     if (xhttp.readyState == XMLHttpRequest.DONE) { 
      if(xhttp.status == 200){ 
       console.log(xhttp.responseText); 
      } 

     } 
    }