为什么取xmlHttp.responseXML.documentElement取为空?

为什么取xmlHttp.responseXML.documentElement取为空? - Web 开发 / Ajax要求,在asp页面中输入工号项中输

为什么取xmlHttp.responseXML.documentElement取为空? - Web 开发 / Ajax
要求,在asp页面中输入工号项中输入工号,自动在该页面中显示该工号的相关数据,比如对应的姓名,电话等.

想到用Ajax 实现,代码如下:

a.asp页面,该部分HTML代码省略.

VBScript code
.....<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link href="course_style.css" rel="stylesheet" type="text/css"><script src="showpersonalinfo.js"></script>....<form name="form" method="post" action="sendproc.asp" onSubmit="return chkform();">...<td ><input type="text" name="worknum" id="worknum" onKeyUp="showpersonalinfo(this.value)"><td><td><input type="text" name="name" id="name"></td><td><input name="extension" type="text" id="extension"></td>....</form>



showpersonalinfo.js页面
JScript code
var xmlHttp;function showpersonalinfo(str){    xmlHttp=GetXmlHttpObject();    if(xmlHttp==null)    {      alert ("Your browser does not support AJAX!");      return;        }    var url="getpersonalinfo.asp"    url=url+"?worknum="+str;    url=url+"&sid="+Math.random();    xmlHttp.onreadystatechange=statechanged;    xmlHttp.open("get",url,null);    xmlHttp.send(null);    }function statechanged(){    if(xmlHttp.readystate==4)        {        [color=#0000FF]var xmlDoc=xmlHttp.responseXML.documentElement;[/color]        document.getelementByid("name").innerHtml=xmlDoc.getelementsBytagname("name")[0].childnodes[0].nodevalue;        document.getelementByid("extension").innerHtml=xmlDoc.getelementsBytagname("extension")[0].childnodes[0].nodevalue;    }    }function GetXmlHttpObject(){var xmlHttp=null;try  {  // Firefox, Opera 8.0+, Safari  xmlHttp=new XMLHttpRequest();  }catch (e)  {  // Internet Explorer  try    {    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    }  catch (e)    {    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");    }  }return xmlHttp;}


getpersonalinfo.asp页面
VBScript code
<%response.Expires=-1response.contenttype="text/xml"response.Charset="utf-8"%><!--#included file="inc/conn.asp"--><!--#included file="inc/function.asp"--><%dim worknumdim rs,sqlworknum=trim(request.QueryString("worknum"))set rs=server.CreateObject("adodb.recordset")sql="select * from employee where wcode='"&worknum&"'"rs.open sql,conn,1,3if not(rs.bof and rs.eof) then    response.write("<?xml version='1.0' encoding='utf-8'?>")    response.write("<personalinfo>")    response.write("<name>"&rs("name")&"</name>")    response.write("<division>"&rs("div")&"</division>")    response.write("<dept>"&rs("dept")&"</dept>")    response.write("<extension>"&rs("extension")&"</extension>")    response.write("<email>"&rs("email")&"</email>")    response.write("</personalinfo>")end ifrs.closeset rs=nothing%>


问题:如上代码蓝色行,xmlHttp.responseXML.documentElement返回的值这空,用alert输出xmlHttp.responsetext有值返回,alert输出xmlHttp.responseXML为[object],不知道这是什么原因,返回xmlHttp.responseXML.documentElement的值为NULL?



[解决办法]
alert(xmlHttp.responsetext); 返回的值是什么?贴出来看看。
[解决办法]
asp的我没有写过

jsp里面就是很简单的 

1:测试后台是否能返回数据

2:正确的显示在页面上数据 如: innerHTML
[解决办法]
http://hi.baidu.com/bxba/blog/item/653362597dbd9b222834f0d6.html

我使用的ajax代码