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中显示一些消息,可是就是不显示?
为什么?
...全文
202 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤剑 2006-05-02
  • 打赏
  • 举报
回复
mingxuan3000(铭轩) :
我的就是你的这个问题,不知道为什么有时候出现,有时候就不行了!

YidingHe(机枪兵) :
也许吧!

yyszh 2006-05-02
  • 打赏
  • 举报
回复
看不懂这句话:
在这里实施的时候,特别是readystate不等于4的时候,在msg中显示一些消息,可是就是不显示?
捏造的信仰 2006-05-02
  • 打赏
  • 举报
回复
IE在操作innerHTML的时候经常出问题。
mingxuan3000 2006-05-02
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
function func1(){
var message = "345354"
alert("123")
var divid= "msn"
//document.getElementById(divid).innerHTML=message
document.getElementById(divid).innerText=message
}

</script>
</HEAD>

<BODY>
<input type="button" value="button1" onclick="func1()">
<div id="msn"> 123</div>
</BODY>
</HTML>


你的是别的问题吧
孤剑 2006-05-02
  • 打赏
  • 举报
回复
就是程序在这里不执行:
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;
}

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧