使用spring3+mybatis+jquery使用jquery ajax開發時,總是報error,進行使用者添加時,前端:
$("#adduser").click(function(){
var jsonuserinfo = $.toJSON($('#userForm').serializeObject());
$.ajax({
type:"post", //請求方式
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
url:"../ccippatrol/useradd.do",
data : jsonuserinfo,
dataType:'json',
success : function(data) {
closeWin();
alert("新增成功!");
},
error:function(data) {
alert("新增失敗!")
}
});
});
後端:
@RequestMapping(value="/useradd", method=RequestMethod.POST)
@ResponseBody
public String userAdd(@RequestBody User user){
logger.info("username:"+user.getUsername());
logger.info("password:"+user.getPassword());
ccipPatrolService.userAdd(user);
return "success";
}
執行使用者添加,在firebug下調試,發現,使用者已經添加成功,并且相應中也傳回success,但是結果卻總是走error了,經過分析是因為設定傳回結果為json,但是,我傳回了字元串,是以,它定位到了error。調整java代碼,傳回對象如下:
@RequestMapping(value="/useradd", method=RequestMethod.POST)
@ResponseBody
public User userAdd(@RequestBody User user){
System.out.println("aaaaaaaaaaaaaaaa");
logger.info("username:"+user.getUsername());
logger.info("password:"+user.getPassword());
ccipPatrolService.userAdd(user);
return user;
}
調整後執行正常。