asp如何传值给Ajax?
梦醒实分1 2009-08-04 06:38:01 这两天在做一个弹出式登陆框登录,结合Ajax登录的那种,现在有一问题让我很郁闷,就是当asp传值给Ajax的时候,结果Ajax没接收到所传的值,倒是接收到了这个页面。下面附上一些代码,还请论坛里的高手帮小弟看一下代码。
script language="javascript">
var Ajax;
function createAjax()
{
if(window.XMLHttpRequest)
{
Ajax=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
Ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
}
function chkuser()
{
createAjax();
if(document.getElementById("username").value=="" || document.getElementById("pwd").value=="")
{
document.getElementById("msg").innerText="用户名和密码不能为空";
}
else
{
var username=document.all.username.value;
var pwd=document.all.pwd.value;
data="username="+escape(username)+"&pwd="+escape(pwd);
postdata("default.asp?act=chk",data);
}
}
function postdata(url,data)
{
createAjax();
Ajax.open("POST",url,true);
Ajax.onreadystatechange=checkuser;
Ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
Ajax.send(data);
}
function checkuser()
{
if(Ajax.readyState==4)
{
alert(Ajax.responseText);
}
}
</script>
asp代码
<form id="flogn" action="default.asp" method="post">
<table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0">
<tr><td colspan="2" align="center" height="40">会员登录</td></tr>
<tr><td colspan="2" align="center"><span id="msg" style="color:#FF0000;"></span></td></tr>
<tr height="30"><td align="right">用户名:</td><td align="left"><input type="text" id="username" name="username" class="input"/></td></tr>
<tr height="30"><td align="right">密码:</td><td align="left"><input type="password" id="pwd" name="pwd" class="input"/></td></tr>
<tr height="30"><td></td><td align="left"><input type="submit" value="登陆" onclick="chkuser()"/><input type="reset"/></td></tr>
</table>
</form>