innerHTML奇怪的问题
孤剑 2006-05-01 06:05:41 今天第一次使用ajax,但是在使用的过程中,发现在innerHTML中出现了问题,但是这个问题应该是在javascript出现问题的,所以我到这里请求帮助。
Ajax.js源码如下:
// JavaScript Document
var xmlHttp;
var TagsId="body";
function CreateXmlHttp(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
if(xmlHttp) xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
if(xmlHttp) xmlHttp=new ActiveXObject("Msxml2.XMLHTTP.5.0");
}
else if (window.XMLHTTPRequest){
xmlHttp=new XMLHTTPRequest();
}
}
function getTextXmlData(url){
CreateXmlHttp();
xmlHttp.onreadystatechange=HandleStateChanged;
xmlHttp.open("get",url,false); //第三个参数boolean asynch表示异步否
xmlHttp.send(null);
}
function HandleStateChanged(){
var msg;
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
document.getElementById("m").innerHTML=xmlHttp.responseText;
//eval(xmlHttp.responseText);
}
else{
msg="发生错误:<br/>错误状态 " + xmlHttp.status;
}
}else{
switch(xmlHttp.readystate)
{
case 0:
//对象已建立,但是尚未初始化(尚未调用open方法)
msg="初始化对象...";
break;
case 1:
//对象已建立,尚未调用send方法
msg="正在尝试服务器连接...";
break;
case 2:
//send方法已调用,但是当前的状态及http头未知
msg="服务器连接成功。准备接受数据... ...";
break;
case 3:
//已接收部分数据
//因为响应及http头不全,
//这时通过responseBody和responseText获取部分数据会出现错误,
msg="正在接受数据,请稍候 ... ... ";
break;
default:
msg="未知状态!";
break;
}
}
//alert(msg);
document.getElementById(TagsId).innerHTML=msg;
}
调用 Ajax.js文件的HTML文件如下:
<script type="text/javascript" src="Script/Ajax.js"></script>
<script type="text/javascript" language="javascript1.1">
TagsId="msg";
</script>
<body onLoad="getTextXmlData('test.xml')">
<!--#include file="Admin_TopHeader.asp" -->
<div id="msg" align="center"></div>
</body>
在这里实施的时候,特别是readystate不等于4的时候,在msg中显示一些消息,可是就是不显示?
为什么?