为什么取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代码
