2015-10-15 121 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); 
      } 

     } 
    }