Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AJAX/Javascript打印响应?_Javascript_Ajax - Fatal编程技术网

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

如何使用AJAX/Javascript打印响应?,javascript,ajax,Javascript,Ajax,我正在学习AJAX,并试图将我的文件“info.txt”的内容显示在带有id的div演示中。然而,它总是返回空白。不幸的是,为了测试这一点,您必须在实际的服务器(我是)上尝试这段代码,并且必须提供您自己的“info.txt”文件。我请提供一个标准的javascript答案(非JQuery),谢谢! 函数loadDoc(){ var xhttp=newXMLHttpRequest(); xhttp.open(“GET”、“info.txt”、true); xhttp.send(); documen

我正在学习
AJAX
,并试图将我的文件“info.txt”的内容显示在带有
id
div
演示中。然而,它总是返回空白。不幸的是,为了测试这一点,您必须在实际的服务器(我是)上尝试这段代码,并且必须提供您自己的“info.txt”文件。我请提供一个标准的javascript答案(非JQuery),谢谢!
函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.open(“GET”、“info.txt”、true);
xhttp.send();
document.getElementById(“demo”).innerHTML=xhttp.responseText;
}

XMLHttpRequest对象
更改内容

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

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

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();
}

您的问题是AJAX中的第一个“A”,这意味着它是异步的。您必须注册回调来处理响应。从这里开始:啊。。。这就是我没有得到的。谢谢你,杰克。请您解释一下为什么
send()
onreadystatechange()
之后?@GovindRai,因为您使用
onreadystatechange
定义了一个回调,在发生任何更改时运行该回调……或者在这种情况下,需要检查它是否完成(
DONE
)。一个简单的想法是,如果你让别人帮你去商店,用这些东西做点什么。你要告诉他们你想要什么(
打开
),以及他们回来后该怎么办(
onreadystatechange
),然后再在他们去商店的路上发送(
发送
)。