Ajax的成功不会被执行

时间:2015-03-21 15:43:38

标签: java javascript ajax spring

我在服务器和JS&amp ;;中使用Spring MVC进行登录页面客户端中的Ajax。我不知道什么是错的,服务器的代码执行但不会返回任何内容。 的login.html

<script type="text/javascript">
    $(function() {
        $(".loguser").click(function() {
            var user = $("#login").val();
            var pass = $("#pass").val();            
            $.ajax({
                method: "POST",
                url : "${prefix}loginUser",
                data : "username=" + user + "&password=" + pass,
                dataType : "json",
                success: function(data){
                    if (data.res == "YES") alert("ok");
                    else alert("NOPE");
                }

            });
        })
    })
</script>
    <table id="userData" class="center">

                    <tr id="usernametr">
                        <th><label for="user">Nombre de usuario: </label></th>
                        <th><input id="login" type="text" name="login" value=""
                            placeholder="Name" required /></th>
                    </tr>
                    <tr>
                        <th><br /></th>
                    </tr>
                    <tr>
                        <th><label for="pass">Clave de usuario: </label></th>
                        <th><input id="pass" type="password" name="pass" value=""
                            placeholder="Password" required /></th>
                    </tr>

                    <tr>                        
                        <th><button class="loguser">Acceder</button></th>
                        <th><input type="button" name="lost"
                            value="He perdido mi clave" /></th>
                    </tr>
                </table>

HomeController.java:

@RequestMapping(value = "/loginUser")
    @ResponseBody
    @Transactional
    public String loginUser(@RequestParam("username") String username,
            @RequestParam("password") String pass, HttpServletRequest request, Model model) {
        logger.info("Trying to log in {} {}", username, pass);
        if (username.length() > 3) {
            logger.info("ok");
            return new String("[\"res\": \"YES\"]");
        } else {
            logger.warn("nope");
            return new String("[\"res\": \"NOPE\"]");
        }
    }

我尝试返回EntityResponse,但没有任何改变。 Springs控制台打印记录器信息或警告但Firefox的javascript控制台不会。

1 个答案:

答案 0 :(得分:0)

您必须在控制器中指定Requestmethod,如

  

@RequestMapping(value =“/ loginUser”,method = RequestMethod.POST)

你必须在{}中返回Json值 括号