JQuery+Ajax实现登录验证

这次呢,主要记录下账号密码的验证和显示。

本来页面和后台的交互应该挺简单,我用了struts2,多加了跳转调度,唉!问题就来了……

两种实现方法:

方法一:

1. Action部分:

	public void login() throws IOException{
		msg=null;
		udao = new UserDao();
		user = udao.getUserByName(name);
		if(user==null){
			msg="1";
			
		}else if(user.getPsd().equals(password)){
			msg="3";
			
		}else
		{
			msg="2";
		}
		ServletActionContext.getResponse().getWriter().write(msg);	
	}

注意:void 没有返回值的哦、如果带返回值,再用struts跳转的话,用alert显示一下msg,你会发现alert的是整个html页面的代码……我都以为是MyEclipse出了问题。。。

2.页面部分:

 $.ajax( {
						url : "user!login.action",
						
						data : {
							"name": userName,
							"password": password,
						},
						type : "post",
						dataType : "text",
						async:false,
						beforeSend:function(){
							$('#tip').text("正在登陆……");
						},
						error: function () {//请求失败处理函数
					     alert('请求失败');
					     return false;
					    },
						success: function(msg){
						   if(msg == "1"){
						     $('#tip').text('该用户不存在!');

		                          $("#name").focus(); 
		                         return false;
		                     }else if(msg == "2"){
		                          $('#tip').text('密码错误!');
		                          $("#password").focus();             
		                         return false;
		                     }
		                     else
		                     form.submit();
		                     
						}
						});

dataType試過json,但是不行,每次都執行error,我用的是jquery-2.1.1,網上查了說是json的格式要求嚴格了,讓去json.org查看,菜鳥……不懂

方法二:

struts.xml:

<action name="login" class="user.action.UserAction">
			<result type="json">
			 <param name="root">msg</param>
			</result>
		</action>
这样的话,就不要用ServletActionContext.getResponse().getWriter().write(msg);了,当初我两个方法用到一起了,结果发现网页alert的时候msg显示两遍。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值