struts2+jQuery+ajax如何实现表单验证
struts2+jQuery+ajax怎么实现表单验证
最近一直在学ajax,现在想实现一个非常简单的功能:当用户在“用户名”一栏输入:张三 的时候,后面出现提示:该用户名已被注册
我的JSP页面如下:
action如下:
struts的配置文件如下:
但是就是无法实现我想达到的那个非常简单的功能,各位大神帮帮忙,纠结这个问题3天了,感觉自己实在是解决不了了!
------解决思路----------------------
直接在地址栏打开链接或者用form新窗口提交看下路径是否正确,ajax控制台看下请求发出去了没有是否有错误
最近一直在学ajax,现在想实现一个非常简单的功能:当用户在“用户名”一栏输入:张三 的时候,后面出现提示:该用户名已被注册
我的JSP页面如下:
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-2.1.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#name").onblur(function(){
$.ajax({
url:"registAjax.action", //服务端的地址
type:"POST", //ajax请求的类型,如果不写,默认为GET
data:{username:$("#name").val()},//发送到服务器的数据,此处提交的参数名为username,则在action中要有相应的username的get、set方法
dataType:"json", //预期服务器返回的数据类型
success:function(data){ //请求成功后调用的回调函数
var obj = $.parseJSON(data); //使用这个方法解析json
var msgname = obj.result; //result是和action中定义的result变量的get方法对应的
$("#msg").html(msgname);
},
error:function(e){
alter("error");
}
});
});
});
</script>
</head>
<body>
<form action="registPro" method="post" id="regist">
<table>
<tr>
<td><label for="name">用户名</label></td>
<td><input type="text" id="name" name="user.username"></td>
</tr>
<tr>
<td><label for="pass">密 码</label></td>
<td><input type="password" id="pass" name="user.password"></td>
</tr>
<tr>
<!-- span中的内容是通过ajax加载的 -->
<td><span id="msg"></span></td>
</tr>
</table>
</form>
</body>
</html>
action如下:
public class RegistValidateAction implements Action {
private String username;
//ajax返回结果,也可是其他类型的,这里以String类型为例
private String result;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
@Override
public String execute() throws Exception {
System.out.print(username);
if(username.equals("张三")){
result = "该用户名已被注册!";
}else
result = "该用户名可以使用!";
return SUCCESS;
}
struts的配置文件如下:
<!-- 配置ajax的action -->
<package name="ajax" namespace="/" extends="json-default">
<action name="registAjax" class="org.yh.action.RegistValidateAction">
<!-- 将返回类型设置为json -->
<result type="json"></result>
</action>
</package>
但是就是无法实现我想达到的那个非常简单的功能,各位大神帮帮忙,纠结这个问题3天了,感觉自己实在是解决不了了!
------解决思路----------------------
直接在地址栏打开链接或者用form新窗口提交看下路径是否正确,ajax控制台看下请求发出去了没有是否有错误