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+ajax+text文本框实现智能提示完整实例
Jul 09 Javascript
js的各种排序算法实现(总结)
Jul 23 Javascript
js实现多图左右切换功能
Aug 04 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
对 Vue-Router 进行单元测试的方法
Nov 05 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
快速解决element的autofocus失效问题
Sep 08 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
Sep 21 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
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
使用php来实现网络服务
2009/09/15 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
异步加载script的代码
2011/01/12 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
vue组件tabbar使用方法详解
2018/11/06 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
python操作xml文件示例
2014/04/07 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
PyQt5实现下载进度条效果
2018/04/19 Python
python里dict变成list实例方法
2019/06/26 Python
python字典的常用方法总结
2019/07/31 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
实习鉴定评语
2014/01/19 职场文书
个人自荐材料
2014/05/23 职场文书
用Python提取PDF表格的方法
2021/04/11 Python