如何使用AJAX / Javascript打印响应?

How to print the response using AJAX/Javascript?

本问题已经有最佳答案,请猛点这里访问。

我正在学习AJAX并且我正在尝试将我的文件"info.txt"的内容显示在div id"demo"中。 然而它一直空白。 不幸的是,为了测试这个,你必须在实际的服务器(我是)上尝试这个代码,并且必须提供你自己的"info.txt"文件。 请提供标准的javascript答案(非JQuery)!

1
2
3
4
5
6
function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.open("GET","info.txt", true);
  xhttp.send();
  document.getElementById("demo").innerHTML = xhttp.responseText;
}
1
2
The XMLHttpRequest Object
<button type="button" onclick="loadDoc()">Change Content</button>


您传递给xhttp.opentrue表示您的请求是异步的,这意味着它不会等待响应。

您需要删除true(未推荐)或在收到响应时正确设置回调:

1
2
3
4
5
6
7
8
9
10
function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.open("GET","info.txt", true);
  xhttp.onreadystatechange = function () {
    if (xhttp.readyState === XMLHttpRequest.DONE && xhttp.status === 200) {
      document.getElementById("demo").innerHTML = xhttp.responseText;
    }
  };
  xhttp.send();
}