首页 > 解决方案 > ajax无法进入成功方法

问题描述

这是控制器:

@ResponseBody
@PostMapping("/signup")
public String signUp(HttpServletRequest request) {
    try {
        log.info("-------signup page");
    String username = request.getParameter(Constant.PARAMETER_USERNAME);
    if (userDetailService.findByUsername(username)!=null) {
        log.error("----------username is exist!!");
        return Constant.MESS_EXIST_USER;
    }
    log.info("----------username is not exist!!");
    User user = new User();
    user.setUsername(username);
    user.setPassword(passwordEncoder.encode(request.getParameter(Constant.PARAMETER_PASSWORD)));
    user.setEmail(request.getParameter(Constant.PARAMETER_EMAIL));
    user.setPhonenumber(request.getParameter(Constant.PARAMETER_PHONE)) ;
    user.setAddress(request.getParameter(Constant.PARAMETER_ADDRESS));
    user.setFullname(request.getParameter(Constant.PARAMETER_FULLNAME));
    String status = userService.save(user);
    log.info(status );
    return status;// return "success" or "fail"
    }
    }catch (Exception e) {
        log.error("sign up has been error: ",e);
        return Constant.MESS_FAIL; // "fail"
    }
}

和js:

var data = $('form#form1').serialize();
    $.ajax({
        url: '/signup',
        data: data,
        type: "POST",
        datatype : "text",
        success: function(data){
            console.log(data);
            if(data == "success"){
                alert("signup success!");
                window.location.href = "/index";

            }else if(data=="existUser"){
                alert("username is exist!");
                window.location.href = "/index";
            }
            else if(data=="fail"){
                alert("signup fail!");
                window.location.href = "/index";
            }

        }
    });
}

保存(用户)的日志是成功的,但 ajax 不是警报(“注册成功!”),它显示错误页面。当我在 js 和 java 中调试时,ajax 工作并显示警报(“注册成功!”)。我尝试在谷歌搜索,但它无法运行。任何人都可以帮助我:(

编辑我尝试使用 datatype = 'text' 而不是重复保存(用户)。当我运行它时,它似乎没有进入成功功能,但是当我在 js 中调试时,我的程序运行正常:(

标签: javascriptjavajqueryajaxspring

解决方案


推荐阅读