AJAX无刷新登录问题
时间:2011-12-05
来源:互联网
先发代码。。。。
JScript code
然后是传入数据页面的代码
C# code
现在的问题是,每次输入正确的用户名和密码的时候很正常,能够出现欢迎用户登录的字段,但是输入错误的用户名密码时,那个错误提示框回提示三遍,然后输入用户名和密码的框跟按钮就都不见了,也就是login那个DIV没东西了,请问是怎么回事?
JScript code
var xmlhttp; function creatHttp() { if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { xmlhttp = new XMLHttpRequest(); } } function postData() { creatHttp(); var uname = document.getElementById("Text1").value; var upass = document.getElementById("Text2").value; if (uname.length == 0 || upass.length == 0) { alert("请输入用户名密码!"); return; } else { var userinfo = ""; userinfo = uname + "," + upass; xmlhttp.open("post", "Index/DataPage.aspx?userinfo=" + escape(userinfo), true); xmlhttp.onreadystatechange = stateChange; xmlhttp.send(null); } } function stateChange() { if (xmlhttp.readystate == 4) { if (xmlhttp.status == 200) { document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText); } } else { alert("用户名密码错误!"); } }
然后是传入数据页面的代码
C# code
protected void Page_Load(object sender, EventArgs e) { Users users = new Users(); string userinfo = Request.QueryString["userinfo"]; string[] arr = userinfo.Split(','); string uname = arr[0].ToString(); string upass = arr[1].ToString(); users.Uname = uname; users.Upass = upass; DataSet ds = users.CheckUser(users); if (ds.Tables[0].Rows.Count > 0) { Response.Write("欢迎" + uname + "登录!"); } }
现在的问题是,每次输入正确的用户名和密码的时候很正常,能够出现欢迎用户登录的字段,但是输入错误的用户名密码时,那个错误提示框回提示三遍,然后输入用户名和密码的框跟按钮就都不见了,也就是login那个DIV没东西了,请问是怎么回事?
作者: qq474895698 发布时间: 2011-12-05
提示3遍就对了
function stateChange() {
if (xmlhttp.readystate == 4) {
if (xmlhttp.status == 200) {
document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText);
}
}
else {
alert("用户名密码错误!");
}
}
改成
function stateChange() {
if (xmlhttp.readystate == 4) {
if (xmlhttp.status == 200) {
if(xmlhttp.ResponseText=="这里写登陆成功返回的字符串"){
document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText);}else{
alert("用户名密码错误!");
}
}
}
}
因为readystate会改变3次
document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText);
这句是login DIV中显示返回的字符串登陆成功你返回"欢迎(" + uname + "登录!")
密码错误什么也没返回当然就什么也不现实
function stateChange() {
if (xmlhttp.readystate == 4) {
if (xmlhttp.status == 200) {
document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText);
}
}
else {
alert("用户名密码错误!");
}
}
改成
function stateChange() {
if (xmlhttp.readystate == 4) {
if (xmlhttp.status == 200) {
if(xmlhttp.ResponseText=="这里写登陆成功返回的字符串"){
document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText);}else{
alert("用户名密码错误!");
}
}
}
}
因为readystate会改变3次
document.getElementById("login").innerHTML = unescape(xmlhttp.ResponseText);
这句是login DIV中显示返回的字符串登陆成功你返回"欢迎(" + uname + "登录!")
密码错误什么也没返回当然就什么也不现实
作者: qq307023807 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28