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 相关文章推荐
firefox中用javascript实现鼠标位置的定位
Jun 17 Javascript
javascript+xml实现简单图片轮换(只支持IE)
Dec 23 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
js实现的Easy Tabs选项卡用法实例
Sep 06 Javascript
基于node实现websocket协议
Apr 25 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
AngularJS表格样式简单设置方法示例
Mar 03 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
vue v-model的用法解析
Oct 19 Javascript
微信小程序入门之指南针
Oct 22 Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 04 Javascript
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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP安装攻略:常见问题解答(二)
2006/10/09 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
经验几则 推荐
2006/09/05 Javascript
js jquery做的图片连续滚动代码
2008/01/06 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
python使用Image处理图片常用技巧分析
2015/06/01 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
Python如何急速下载第三方库详解
2020/11/02 Python
智能旅行箱:Horizn Studios
2018/04/30 全球购物
如何提高MySql的安全性
2014/06/19 面试题
Java程序员常见面试题
2015/07/16 面试题
致标枪运动员加油稿
2014/02/15 职场文书
交通安全标语
2014/06/06 职场文书
优秀应届生求职信
2014/06/16 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang