ajax传递参数与controller接收参数映射关系

将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 的形参顺序一致。

原文地址:https://www.cnblogs.com/elementplay/p/10792704.html