jquery 异步验证。
ssh框架下。。
//action
private String msg;
public String check(){
System.out.println("asdsafff");
System.out.println(userName);
int i = roleService.checkName(userName);
if(i==1){
msg="部门名可以使用";
}else if (i==2) {
msg="部门以存在";
}
System.out.println("check执行结束");
return "jsonn";
}
//js
<script type="text/javascript">
function check(){
var user = $('#user').val();
$.ajax({
type: "POST",
url: "roleAction!check.action",
data: { userName:user },
success: function(data) {
alert(data);
},
error:function(){
//这个是出错处理
}
});
}
</script>
<package name="default" namespace="/" extends="json-default">
<result name="jsonn" type="json"/>
</package>
success: function(data){alert(data);}弹出{"description":null,"id":null,"name":null,"privileges":[],"users":[]}
success: function(data){alert(data.msg);} 弹出 undefined..
大神看看问题出在什么地方。。 jQuery Java
[解决办法]
调试到后台看看报什么错了啊
[解决办法]
返回的不是json格式的数据,而且ajax里面没设置dataType为"json"
[解决办法]
错了,是data: "{ userName:user }",
[解决办法]
$.ajax({
type: "POST",
url: "roleAction!check.action",
data:$.toJSON({"userName" :user}),
dataType: 'json',
success: function(data) {
alert(data);
},
error:function(){
//这个是出错处理
}
});
[解决办法]
[解决办法]
看下msg是不是没有set,get,尽量不要使用return json咯,直接response字符串出去还更好,然后页面再解释成json对象,为什么呢?因为使用json过滤会把其他的setget也会序列出去,太浪费了,如果不想序列就要加serialxxx = false
具体你可以来我博客下载那个开源项目看看这做法咯...