将ajax的参数传递至后台controller时,data 中的参数名要与controller中的形参保持一致。
前端ajax代码:
1 $.ajax({ 2 url:"/doLogin", 3 type:"post", 4 data:{ 5 "username":$("#username").val(); 6 "password":$("#password").val(), 7 "code":$("#code").val() 8 }, 9 success:function(){} 10 });
后台controller代码:
@RequestMapping("/doLogin") @ResponseBody public Map<String,Object> doLogin(String username,String password,String code){ // 省略代码 .... }
这样做就能将前端传来的数据 一 一对应到controller 的形参中去。
而如果想前端数据的参数名和后台controller 形参不一致,可以使用@RequestParam 注解将自己的形参与前端数据的参数名映射起来。
后台controller代码:
@RequestMapping("/doLogin") @ResponseBody public Map<String,Object> doLogin(@RequestParam(value = "username")String users,String password,String code){ // 省略代码 .... }
注:前端的data 数据的顺序可以不和后台controller 的形参顺序一致。