将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")@ResponseBodypublic Map<String,Object> doLogin(String username,String password,String code){ ???// 省略代码 ???.... ?????} ???
这样做就能将前端传来的数据 一 一对应到controller 的形参中去。
而如果想前端数据的参数名和后台controller 形参不一致,可以使用@RequestParam 注解将自己的形参与前端数据的参数名映射起来。
后台controller代码:
@RequestMapping("/doLogin")@ResponseBodypublic Map<String,Object> doLogin(@RequestParam(value = "username")String users,String password,String code){ ???// 省略代码 ???.... ?????} ?
注:前端的data 数据的顺序可以不和后台controller 的形参顺序一致。
ajax传递参数与controller接收参数映射关系
原文地址:https://www.cnblogs.com/elementplay/p/10792704.html