Javascript ajax可以';不要采用成功的方法
这是控制器:Javascript ajax可以';不要采用成功的方法,javascript,java,jquery,ajax,spring,Javascript,Java,Jquery,Ajax,Spring,这是控制器: @ResponseBody @PostMapping("/signup") public String signUp(HttpServletRequest request) { try { log.info("-------signup page"); String username = request.getParameter(Constant.PARAMETER_USERNAME); if (userDetailService.findB
@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',而不是dublicate save(user)。当我运行它时,它似乎不会进入success函数,但当我在js中调试时,我的程序正常运行:(try promissions,例如
。然后(函数(数据){console.log(数据)}
。稍后将其绑定到实际的ajax调用。您保存了用户两次,您确定没有因此而出错吗?@seethrough如果成功
不成功,为什么会触发?检查浏览器开发工具网络中的实际请求。什么是状态
。发送和接收的内容是否与预期一致?没有看到任何json被发送m服务器端代码,但这也是您在dataType
中请求的,如果您的客户端代码作为提交的结果被调用,则您需要阻止默认的表单提交操作