ajax 登录,谢谢!

paul2002 2010-06-10 10:50:56
用ajax提交form后,为什么不自动跳转到登陆成功页面???

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>


<script language="javascript">
function saveUserInfo()
{

//获取表单对象和用户信息值
var f = document.user_info;
var userName = f.user_name.value;
var userPass = f.user_pass.value;

//接收表单的URL地址
var url = "http://x.x.x.x/login.jsp? user_name="+ userName +"&password="+ userPass ;

//实例化Ajax
//var ajax = InitAjax();


var ajax = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType) {//设置MiME类别
ajax.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!ajax) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}




//通过get方式打开连接
ajax.open("GET", url, true);
ajax.send(null);

//获取执行状态
ajax.onreadystatechange = function() {
//如果执行状态成功,那么就把返回信息写到指定的层里
if (ajax.readyState == 4 && ajax.status == 200) {

}
}
}
</script>
<body >
<div id="msg"></div>
<form name="user_info" method="GET" action="">
姓名:<input type="text" name="user_name" /><br />
密码:<input type="text" name="user_pass" /><br />
<input type="button" value="提交表单" onClick="saveUserInfo()">
</form>

</body>

...全文
268 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuxh81 2010-06-12
  • 打赏
  • 举报
回复
用ajax检查用户名、密码和验证码,最后的跳转用
window.open(...
Headsen 2010-06-11
  • 打赏
  • 举报
回复
直接发送密码到服务器,服务器比对后,直接跳转。不要本地跳转了。不匹配,回调函数alert();
虽然你本地跳转也没错误!但是不伦不类的,伤AJAX心了。 而且一定的安全隐患
mrs_xin 2010-06-11
  • 打赏
  • 举报
回复
你用ajax 还跳转别的页面 你何必用ajax了 你这不是伤人家axjax的心吗!
javaisthis 2010-06-11
  • 打赏
  • 举报
回复
你用ajax做登录页面这里欠妥吧,在登录页面中,ajax一般都是都是用来判断在后台是否有这个用户,如果有就不会有任何提示,如果没有则会提示“用户不存在,是否要注册新用户”,在这里用ajax只是实现无页面刷新,提高用户友好度吧了,然后在用简单的js判断一下是否为空,密码不能小于6位、、、、、然后有个登录按钮提交到后台处理就可以了
ad0128 2010-06-11
  • 打赏
  • 举报
回复
login.jsp页面最好弄个返回值输出到页面,验证通过返回"ok"

//如果执行状态成功,那么就把返回信息写到指定的层里
if (ajax.readyState == 4 && ajax.status == 200) {
if(ajax.responseText=='ok')
window.location.href="main.jsp"
}
hoojo 2010-06-11
  • 打赏
  • 举报
回复
var url = "http://x.x.x.x/login.jsp? user_name="+ userName +"&password="+ userPass ;
这样会有乱码的,encodeURI(encodeURI(url))
在服务器端转一次就行了,URLDecode(user_name, "utf-8");
ajax.readyState == 4 && ajax.status == 200最好加上状态
paul2002 2010-06-10
  • 打赏
  • 举报
回复
但是login.jsp里通过验证后应该会跳转到其他页面(main.jsp)的呀,上面代码执行后没反应,再打开main.jsp已经登陆了
lds1ove 2010-06-10
  • 打赏
  • 举报
回复
//通过get方式打开连接
ajax.open("GET", url, true); 这儿是ajax获取数据的url不是跳转的
ajax.send(null);

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧