【问题标题】:Empty response of XMLHttpRequestXMLHttpRequest 的空响应
【发布时间】:2015-10-15 15:49:40
【问题描述】:

在我的 Java Web 应用程序中,我正在调用 ajax 请求,如下所示。

<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>

Action 正在调用并返回状态码 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); 行不打印任何内容。此外,控制台日志中没有错误。

任何建议将不胜感激。

谢谢

【问题讨论】:

标签: javascript ajax xmlhttprequest


【解决方案1】:

需要添加回调函数来获取ajax请求的结果。

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

【讨论】:

    【解决方案2】:

    您的 ajax 请求是异步的。这意味着它稍后会返回结果。您需要为onloadonreadystatechange 安装事件处理程序才能获得结果。

    有很多关于如何做到这一点的 Ajax 教程。以下是一些有用的参考资料:

    https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started

    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

    【讨论】:

      【解决方案3】:

      如果你想使用 vanilla js,你必须附加事件处理程序 onreadystatechange 来处理响应,但我的建议是不要使用 vanilla js,而是使用像 jQuery 这样的库来启动 ajax 请求。它会更容易,并且可以在所有类型的浏览器上毫无问题地运行。见here。如果你想要 vanilla js,这里有一个示例 sn-p:

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

      【讨论】:

        猜你喜欢
        • 2018-11-19
        • 2020-08-29
        • 2011-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多