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 相关文章推荐
js 浮动层菜单收藏
Jan 16 Javascript
JavaScript 32位整型无符号操作示例
Dec 08 Javascript
js 时间格式与时间戳的相互转换示例代码
Dec 25 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
详解jQuery的Cookie插件
Nov 23 Javascript
Javascript中字符串和数字的操作方法整理
Jan 22 Javascript
vue给对象动态添加属性和值的实例
Sep 09 Javascript
微信小程序返回上一页传参并刷新过程解析
Dec 13 Javascript
node+vue实现文件上传功能
May 28 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
PHPExcel笔记, mpdf导出
2016/05/03 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
宠物店的创业计划书范文
2014/01/11 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
师范生自荐信模板
2014/05/28 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript