在采用JQuery进行表单异步提交时,前台传入的是json数据格式,后台controller用map接收,再传回前台进行结果判断时,if-else接收结果()里面,尽量不要出现“=”,不然判断语句失效,应该在后台将一个boolean类型的flag变量存入map中:map.put("flag",true/false); 前台if(result.flag)进行判断。
前台:
//提交表单
submitHandler:function(form){
var email =$('#email').val();
var phone =$('#phone').val();
$.ajax({
type:'POST',
data: {email:email,phone:phone},
url:ctx+'/user/reg',
dataType:'json',
success:function(result){
if (result.flag){//注册成功
alert(result.msg);
window.location.href=ctx+"/user/goLogin";
} else {//注册失败
alert(result.msg);
window.location.href="${root}/user/goReg";
}
}
});
}
后台:
@RequestMapping(value="/user/reg" , method= RequestMethod.POST , produces="application/json;charset=UTF-8")
public @ResponseBody Map userReg(@RequestParam("email") String email, @RequestParam("phone") String phone,HttpServletResponse response){
Map<String,Object> map = new HashMap<String, Object>();
boolean flag=false;
if(email!=null && !"".equals(email) && phone!=null && !"".equals(phone)) {
String name=email;//给name赋值
User user1=userService.selectEmail(email,name);
System.out.println(user1);
String identity=phone;//给identity赋值
User user2=userService.selectPhone(phone,identity);
System.out.println(user2);
if(user1 == null && user2 == null) {
flag=true;
map.put("flag", flag);
map.put("msg", "注册成功!");
System.out.println("123");
return map;
}
}
map.put("flag", flag);
map.put("msg", "注册失败!");
System.out.println("456");
return map;
}