使用ajax发送type为put或者delete时,请求能到达后台,但后台springmvc无法获取参数,参数为null。
比如:
$.ajax({
type:'put',
url:url,
data:{version:version},
success:function(result){
if(result.statusCode==200){
window.location.href=xxx();
}else{
alert(result.statusCode+"-"+result.message);
}
},
error:function(result){
alert("请求无法送达,请重试!");
}
});
@PutMapping("/updateByVersion")
@ResponseBody
public ReturnData updateByVersion(@RequestParam("version")Integer version){
System.out.println("version-->"+version);
return configureService.updateConfigureByVersion(version);
}
此时version为null。
原因:
Tomcat处理参数的问题:
1.将请求体中的数据,封装成一个map
2.request.getParameter("id")就会从这个map中取值