javascript - 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 中调试时,我的程序运行正常:(
解决方案
推荐阅读
- angular - 无法在 Angular 中处理 POST http 响应 html
- sql - 使用 REPLACE 函数更新 SQL Server 表
- xaml - 当用户键入时,始终将某个字符添加到 ENTRY
- next.js - 使用操作/checkout@v2 时保留构建文件夹
- javascript - Kotlin 喜欢 JavaScript 中的作用域函数(让、也、应用、运行)?
- html - 在 React Native 中显示带有“图像作为 http 请求”的 html
- python - Lambda 函数不调用 cloudtrail 日志
- c++ - 旧的 C++ OpenGL 编程实现(即没有着色器)是否使用 GPU?
- javascript - 在这种情况下如何访问局部变量的值?
- asp.net-mvc - 如何在另一个项目中访问内部接口方法