Ajax返回状态码200,成功函数不触发

时间:2014-01-15 12:11:38

标签: java jquery ajax

关于此问题有很多话题,但没有一个是有任何帮助的。 一切正常,数据插入到数据库中,并且(我使用spring mvc作为后端)我的控制器也能正确处理所有内容。

Ajax的代码;

$.ajax({
                type: "POST",
                url: "http://localhost:8080/NotePath/register",
                data: "email=" + email + "&password=" + password + "&name=" + name,
                succes: function(response){
                    $("#formMail, #formPass, #formUsername").val("");
                    $("#loginRegister, #whiteBg").fadeOut();
                },
                error: function(xhr,err){
                    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
                    alert("responseText: "+xhr.responseText);
                }
});

控制器代码;

@RequestMapping(value = "/register")
public @ResponseBody String registerUser(@RequestParam(value = "email") String    email, @RequestParam(value ="password") String password, 
        @RequestParam(value = "name") String name, Model model){

    String status = "";

    Boolean isEmailTaken = registerServiceImpl.isEmailTaken(email);
    Boolean isNameTaken = registerServiceImpl.isNameTaken(name);

    if(isEmailTaken == false && isNameTaken == false){
        try {
            registerServiceImpl.registerUser(email, password, name);
            status = "Succes";
        } catch (Exception e) {
            status = "Error";
            e.printStackTrace();
        }
    }else if(isEmailTaken == true){

        status = "mail taken";

    }else if(isNameTaken == true){

        status = "name taken";

    }

    return status;

}

我甚至尝试过返回responseEntity;

return new ResponseEntity<String>(status, respHeader, HttpStatus.OK);

当我查看我的回复标题(使用谷歌浏览器)时,它甚至会说“邮件被采取”或“被采取的名称”或者应该出现的任何消息。但由于某种原因,ajax成功功能没有被触发......

奇怪的是,我有其他的ajax调用没有任何问题。

我认为获得200的状态代码意味着一切都......好吧......好吧:p

1 个答案:

答案 0 :(得分:1)

您没有正确注册回调。

succes: function(response){应为success: function(response) {