我有以下HTML文件 test.html :
<html>
<head>
<title>Test</title>
</head>
<body>
<p>This is a test</p>
</body>
</html>
从控制台,在同一目录中的单独文件中,输入
var request = new XMLHttpRequest();
request.open("GET", "test.html", true);
request.send(null);
现在,request.responseText
包含HTML文件的内容,但request.status
和request.statusText
为0和&#34;&#34;分别。我已经看到了一百个问题,其中responseText
为空,状态为0,但我无法找到responseText
正确行事且statusText
无法正常行动的任何内容。为什么会发生这种情况?有什么想法吗?
答案 0 :(得分:1)
在开始使用网络编程之前,您应该了解什么是HTTP,WebServer,Client,Protocol,Request,Response和Status Code
协议file://
不能通过浏览器安全与XMLHttpRequest
合作,更喜欢http://
。
在PC /机器安装Apache或Nginx
http://
开始使用&#34; WEB&#34;建议您了解一种编程语言,也许还需要一个框架:
异步模式下的Ajax需要onreadystatechange
Ajax("A"synchronous Javascript and XML):
var request = new XMLHttpRequest();
request.open("GET", "test.html", true);//true is "async"
request.onreadystatechange = function (event) {
if (request.readyState==4) {
console.log("status: "+request.status);
console.log("response: "+request.responseText);
}
};
request.send(null);
&#34; SJAX&#34; (&#34; S&#34; ynchronous Javascript和XML):
var request = new XMLHttpRequest();
request.open("GET", "test.html", false);//false is "sync"
request.send(null);
if (request.readyState==4) {
console.log("status: "+request.status);
console.log("response: "+request.responseText);
}
首选异步模式,这样您就可以在不需要等待另一个事件的情况下处理多个事件,也可以避免冻结&#34; javascript&#34;。