日期:2014-05-17  浏览次数:20754 次

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);