首页 新闻 会员 周边

求助Jquery validation remote失去焦点验证问题

0
悬赏园豆:20 [已解决问题] 解决于 2013-03-20 10:35

我在用jquery validation做一个简单的登陆验证,其中用户名要在失去焦点之后验证是否存在,我就用到了remote,但是程序老是报错如下:

警告: Could not find action or result
No result defined for action web.LoginForm and result success
    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)

前台jsp页面代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
        <script type="text/javascript" src="js/jquery.validate.js"></script>
        <script type="text/javascript" src="js/jquery.form.js"></script>
        <link rel="stylesheet" href="css/screen.css" type="text/css"></link>
        <script>
    $(document).ready(function() {
        
        var jsonn ="${json}";
        if (null!=jsonn && jsonn.length!=0){
            alert(jsonn);
        }
        $("#loginForm").validate( {

            rules : {
                name : {
                    required : true,
                    minlength : 2,
                    remote: {
                    url: "validateData.action",     //后台处理程序
                    type: "post",               //数据发送方式
                    dataType: "json",           //接受数据格式  
                    data: {                     //要传递的数据   
                        username: function () {
                            return $("#name").val();
                        }
                }
                },
                password : {
                    required : true,
                    minlength : 4
                }
        }
            },
        
            messages : {
                name : {
                    remote:"用户名不存在",
                    required : "*用户名不能为空",
                    minlength : "*用户名至少是两位"
                },
                password : {
                    required : "*密码不能为空",
                    minlength : "*密码长度至少是4位"
                }
            }
        });
    });
</script>
        <title>登陆页面</title>
    </head>
    <body>
        <div style="position: absolute; left: 50%; top: 50%;">
            <form action="loginForm" method="post" id="loginForm">
                <p>
                    <label style="height: 100px" for="name">
                        用户名:
                    </label>
                    <input type="text" id="name" name="name" style="width: 150px">
                </p>
                <p>
                    <label style="height: 100px" for="password">
                        密&nbsp;&nbsp;码:
                    </label>
                    <input type="password" id="password" name="password"
                        style="width: 150px">
                </p>
                <p>
                    <input type="submit" value="登陆" id="submit">
                    <input type="reset" value="重置" id="reset">
                </p>
        </div>
        </form>

    </body>
</html>后台java代码如下:

public String validateData(){
        HttpServletRequest request = ServletActionContext. getRequest();
        String username =request.getParameter("username");
        System.out.println(username);
        if("haha".equals(username)){
            this.result=false;
        }
        else{
            this.result=true;
        }
        return SUCCESS;
    }struts配置如下:

<package name="web" extends="json-default">  
<action name="validateData" class="web.LoginForm" method="validateData">
           <result name="success" type="json">  
                      <param name="defaultEncoding">UTF-8</param>  
                       <param name="root">result</param>
           </result>  
            <result name="error" type="json">
            <param name="defaultEncoding">UTF-8</param>
            </result>  
       </action>  
</package> 请各位大牛哥帮助。

中州大道的主页 中州大道 | 初学一级 | 园豆:129
提问于:2012-10-19 13:52
< >
分享
最佳答案
0

你打好断点调试一下啊,象这样的问题看清楚异常,在action里面打下断点,很简单就可以解决的,你错在action里面的,你把jsp的贴出来谁知道啊。

收获园豆:15
息搏 | 菜鸟二级 |园豆:227 | 2013-02-20 11:41
其他回答(1)
0

后台代码或struts配置的问题吧,先在浏览器里输入地址访问弄通再放JS里来。

收获园豆:5
向往-SONG | 园豆:4853 (老鸟四级) | 2012-10-19 14:42

在前台输入框里输入数据失去焦点之后,能够跳转到action里,当action执行完之后,继续调试就出现上述错误了

支持(0) 反对(0) 中州大道 | 园豆:129 (初学一级) | 2012-10-19 14:45

@中州大道: 

package 节点上加个namespace="/"试下,网上是有这么说的

支持(0) 反对(0) 向往-SONG | 园豆:4853 (老鸟四级) | 2012-10-19 14:58

@向往-SONG: 依然不行,我觉得是action处理之后返回的问题,可是我对json配置的不是很了解,所以不知道该怎么改

支持(0) 反对(0) 中州大道 | 园豆:129 (初学一级) | 2012-10-19 15:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册