S2SH整合JQuery+Ajax实现登录验证功能实现代码


Posted in Javascript onJanuary 30, 2013

不多说了,上码
action

package com.lk.action; 
import javax.annotation.Resource; 
import com.googlecode.jsonplugin.annotations.JSON; 
import com.lk.service.StudentControl; 
import com.opensymphony.xwork2.ActionSupport; 
public class LoginAjaxAction extends ActionSupport { 
private String username; 
private StudentControl studentControl; 
@JSON(serialize=false) //setStudentControl利用了spring,很重要,让studentControl不序列化,如果序列化会报错 
public StudentControl getStudentControl() {//这个错,找了好久...ajax一直返回error 
return studentControl; 
} 
@Resource(name="studentControl") 
public void setStudentControl(StudentControl studentControl) { 
this.studentControl = studentControl; 
} 
public String getUsername() { 
return username; 
} 
public void setUsername(String username) { 
this.username = username; 
} 
@Override 
public String execute() throws Exception { 
if(studentControl.getStudentById(Integer.parseInt(username))!=null){ 
username = "用户存在"; 
}else{ 
username = "用户不存在"; 
} return "success"; 
} 
}

上面的最重要的就是那个 @JSON(serialize=false) 。。。上面有注释。。。。
struts.xml
<package name="ajax" extends="json-default"> 
<action name="loginAjax" class="com.lk.action.LoginAjaxAction"> 
<result type="json" /> 
</action> 
</package>

这里要说的就是 json-default是继承自struts-default ....
login.html
//用户名 绑定的事件 焦点的移入和移出 
$("#un").bind({ 
focus:function(){ 
$(this).addClass("txtclick"); 
}, 
blur:function(){ 
var vtxt = $("#un").val(); 
if (vtxt.length == 0) { 
$("#unerror").html("用户名不能为空"); 
$(this).removeClass("txtclick"); 
}else if(!isInteger(vtxt)){ 
//检测用户名格式是否正确 
$("#unerror").html("格式不正确!"); 
$(this).removeClass("txtclick"); 
}else{ 
$.ajax({ 
url : "loginAjax", 
dataType : "json", 
data : { 
username : $(this).val(), 
time : Math.random()*1000 
}, 
success : function(data){ 
alert("成功"+data.username); 
}, 
error : function(){ 
alert("错误"); 
} 
}) 
} 
} 
});

上面的time : Math.random()*1000 没有什么实际意义 主要是防止缓存影响异步刷新。。。初稿,功能实现了,后面可以慢慢改
Javascript 相关文章推荐
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
基于Jquery的简单图片切换效果
Jan 06 Javascript
jQuery+PHP打造滑动开关效果
Dec 16 Javascript
js中键盘事件实例简析
Jan 10 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
Oct 12 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
Sep 19 Javascript
简单几步实现返回顶部效果
Dec 05 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
JS设计模式之策略模式概念与用法分析
Feb 05 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
Nov 13 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
js+html+css实现鼠标移动div实例
Jan 30 #Javascript
DWR实现模拟Google搜索效果实现原理及代码
Jan 30 #Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 #Javascript
js判断样式className同时增加class或删除class
Jan 30 #Javascript
编写针对IE的JS代码两种编写方法
Jan 30 #Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
Jan 29 #Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 #Javascript
You might like
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Python map和reduce函数用法示例
2015/02/26 Python
python模拟Django框架实例
2016/05/17 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python获取Pandas列名的几种方法
2019/08/07 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Python如何实现线程间通信
2020/07/30 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
端午节活动总结
2014/08/26 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
Go使用协程交替打印字符
2021/04/29 Golang
python用tkinter开发的扫雷游戏
2021/06/01 Python