ajax 高手帮我看看程序错哪?

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:33:19
使用XMLHttpRequest打开txt文件的内容,程序如下:
<html>
<head>
<script language="JavaScript">
var req = null;
var infos = new Array("init...", "loading...", "loaded...", "running...", "finished...");
var console = null;
function initXMLHttpRequest() {
if (req == null) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (typeof ActiveObject != "undefined") {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
function sendRequest(url) {
if (req == null) {
initXMLHttpRequest();
}
if (req) {
req.onreadystatechange = onReadyStateChange;
req.open("GET", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(null);
}
}
function

你这个实验没有通过网络,所以你应该把req.status == 200的判断去掉。
也就是说,把下面这段:
if (state == 4) {
if (!req.status == 200) {
txt = "response:" + req.status;
} else {
txt = "response:" + req.responseText;
}
} else {
txt = infos[state];
}
中,里面的if和else都去掉。即
if (state == 4) {
txt = "response:" + req.responseText;
} else {
txt = infos[state];
}
理由是,你没有通过网络,所以就无所谓req.status。如果强行判断就会出错。我曾经在一个最简单的例子中遇到过这个问题。如有问题可以msn联系:tracy_chen_914@hotmail.com