@RequestBody需要设置一下参数,并且请求参数需要为json格式
ajax:
contentType:'application/json;charset=UTF-8',
dataType : 'json',
$(function(){
$("#submit").click(function(){
// alert($("#form1").serialize())
var str = {userName:"王",
password:"qwertyuiop",
nickName:"owne",
age:20,
sex:true,
signature:"我爱祖国"};
$.ajax({
type:'post',
url:'http://127.0.0.1:8080/mss/user/regist',
contentType:'application/json;charset=UTF-8', //需要设置
dataType : 'json',
data:JSON.strfy(str),
async:true,//默认为true
timeout:10000,//ms
beforeSend:function(){},//请求前的处理
success:function(data,status){
$(window).attr("location","../html/show.html")
},
complete:function(){},//请求完成的处理
error:function(XHR){
alert(XHR.status);
}
})
})
})
ios:
直接使用AFJsonRequestSeralizer
服务端:
@ResponseBody
@RequestMapping(value="/regist",method=RequestMethod.POST)
public String addUser(@RequestBody User user) throws IOException{
// response.setHeader("Access-Control-Allow-Origin","*");
// request.setCharacterEncoding("UTF-8");
System.out.println("username->" + user.getUserName());
Boolean ret = userService.save(user);
Result result = Result.genResultWithParamter(ret?StatusCode.CODE_SUCCESS:StatusCode.CODE_LOGIN_FAIL, ret?"保存成功":"保存失败", "");
return (new ObjectMapper()).writeValueAsString(result);
}
HttpServletRequest request需要设置,此时请求参数为String
ajax:默认即可
contentType:'application/x-www-form-urlencoded;charset=UTF-8',
$(function(){
$("#submit").click(function(){
// alert($("#form1").serialize())
var str = {userName:"王",
password:"qwertyuiop",
nickName:"owne",
age:20,
sex:true,
signature:"我爱祖国"};
$.ajax({
type:'post',
url:'http://127.0.0.1:8080/mss/user/regist',
// contentType:'application/json;charset=UTF-8', //默认就行,不需要设置
dataType : 'json',
data:str,
async:true,//默认为true
timeout:10000,//ms
beforeSend:function(){},//请求前的处理
success:function(data,status){
$(window).attr("location","../html/show.html")
},
complete:function(){},//请求完成的处理
error:function(XHR){
alert(XHR.status);
}
})
})
})
iOS:
使用AFHTTPRequestSerializer
服务端:
@ResponseBody
@RequestMapping(value="/login",method=RequestMethod.POST)
public String login(HttpServletRequest request,HttpServletResponse response) throws IOException {
User user = new User();
user.setUserName(request.getParameter("userName"));
user.setPassword(request.getParameter("password"));
List<User> users = userService.loginWithUser(user);
System.out.println(users);
Boolean success = users.size()>0;
Result result = Result.genResultWithParamter(success?StatusCode.CODE_SUCCESS:StatusCode.CODE_LOGIN_FAIL, success?"登录成功":"登录失败","");
return JacksonUtil.writeValueAsString(result);