最近在学习Spring3,从开始学到现在碰到了各种各样的问题。
为了自身的提高,打算将最近碰到和解决的问题写下来。
首先碰到的问题是,注册的时候,ajax校验验证码的时候,一直不能取到后台的数据。
前台的代码是这样写的。
$("#verifyCode").textbox({
onChange: function(){
jQuery.ajax({
url:'regedit/validateCode',
type:'POST',
data:{verifyCode:$("#verifyCode").val()},
success:function(msg){
alert(msg);
if(msg == 9){
$("#message2").html("验证码错误");
}
}
});
}
});
});
后台代码如下:
@RequestMapping(value = "/validateCode", method = RequestMethod.POST)
public int validateCode(HttpServletRequest req,String verifyCode) throws Exception {
// 验证码
String validateCode = null;
HttpSession session = req.getSession();
validateCode = String.valueOf(session.getAttribute("validateCode"));
if(!validateCode.equals(verifyCode)) {
// 验证失败
return 9;
}
// 验证成功
return 0;
}
alert(msg)一直报空。
通过百度调查发现,后台返回json对象,必须加上@ResponseBody 。
果断修改后台代码如下:
public @ResponseBody int validateCode(HttpServletRequest req,String verifyCode) throws Exception {
还是报同样的错,而且控制台也一直报错。
还是通过百度,发现jackson的jar不是最新的,我的是1.3版本,在spring3里面不适用。
下来1.9.7版本的,问题解决。