当前位置:编程学习 > asp >>

asp+AJAX+JS实现异步数据传输

就是现在有三个文本框(分别用1,2,3代替)在1里面输入数据,并为其添加Onchange触发,当事件触发以后调用函数,用1的值,作为关键字,在数据库里面查询符合条件的记录,并输出符合条件的记录的其它字段到2,3。现在的代码可以输出2了,但3还是不会输(不会重复调用,另外2输的时候,中文出现乱码,不知道怎么解决),特来请教各位AJAX高手。
以下是现在的代码:(用注册改的)
index.htm
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript" type="text/javascript">
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}

function callServer() {
var u_name = document.getElementById("u_name").value;
if ((u_name == null) || (u_name == "")) return;
var url = "cu.asp?name=" + escape(u_name);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}

function updatePage() {
if (xmlHttp.readyState < 4) {
test1.innerHTML="loading...";
}
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
test1.innerHTML=response;
}
if (test1.innerHTML=="已被注册"){
document.form1.submit.disabled=true}else{
document.form1.submit.disabled=false
}
}
</script>


<form name="form1" action="" method="post" autocomplete="off">
用户名: <input type="text" name="u_name" id="u_name" onChange="callServer();" />
<span id="test1">是否能注册 </span>
<br>
密 码: <input type="password" />
<input type="submit" name="submit" value="注册" />
</form>

cu.asp在下面补充里面因为字符限制了!~
补充:<% 
name=request("name")
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from com where comID="&name&""
rs.Open sql,conn,1,3
response.write rs("comcon")
%>
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,