这是 不使用jsonplugin 在struts2实现ajax 验证
1 新建 action
1 新建 action
package com.web.action.ajax;
public class Test1Action {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//此处可以不需要返回值
public void validaeName(){
System.out.println("------------------");
System.out.println("--------name----------"+name);
String result="";
if("system".equals(name)){
result="{name:\""+name+"\",msg:\"1111\"}";
}else{
result="{name:\""+name+"\",msg:\"2222\"}";
}
HttpServletResponse response=(HttpServletResponse)ServletActionContext.getResponse();
try {
//使用response 输出响应信息 给发请求的客户端
response.getWriter().write(result);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2 struts.xml 中的配置文件
<package name="base" namespace="/" extends="struts-default">
<action name="test1*" class="com.web.action.ajax.Test1Action" method="{1}">
</action>
</package>
3 前端页面调用
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function show(){
var loginid=$("#username").val();
var vlogin=$("#namemessage");
if($.trim(loginid)==""){
vlogin.html("请输入用户名!!");
} else{
var url = '<s:url action="test1validaeName" ></s:url>?';
var params = {name:$('#username').attr('value')};
jQuery.post(url, params, callbackFun);
}
}
function callbackFun(data)
{
var ob=eval("("+data+")");//将返回的字符窜 转成js 对象
alert(ob.name);
alert(ob.msg);
//处理操作,偷懒下,不写了,呵呵
}
</script>
</head>
<body>
用户名<input type="text" name="username" id="username" />
<input type="button" value="检查用户名是否存在!!" id="one" onclick="show()" />
<span id="namemessage"> </span>
</body>