2 回答
TA贡献1887条经验 获得超5个赞
异步的全部意义在于,在响应到达之前,它不会锁定JavaScript引擎。因此,使用当前代码,您将尝试在响应存在之前读取它。
您需要使用事件处理程序在数据到达后处理它。
function processData() {
document.writeln(this.responseText);
}
var request = new XMLHttpRequest();
request.open('GET', 'text.txt');
request.addEventListener("load", processData);
request.send();
TA贡献1942条经验 获得超3个赞
您必须使用request.onreadystatechange函数等待响应
var request;
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.onreadystatechange = function(){
if(request.readyState == 4 && request.status == 200)
{
document.writeln(request.responseText);
}
}
//this open function
request.open('GET', 'text.txt', true);
request.send();
添加回答
举报