S2SH整合JQuery+Ajax实现登录验证功能实现代码_Javascript教程-查字典教程网
S2SH整合JQuery+Ajax实现登录验证功能实现代码
S2SH整合JQuery+Ajax实现登录验证功能实现代码
发布时间:2016-12-30 来源:查字典编辑
摘要:不多说了,上码action复制代码代码如下:packagecom.lk.action;importjavax.annotation.Reso...

不多说了,上码

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">

<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教程学习
    热门Javascript教程学习
    编程开发子分类