AJAX发送PUT,DELETE请求的时候Controller无法传入入参
1.首先我们分析为什么参数为什么没有传入到入参中
因为我们配置了在web.xml中加入这个HiddenHttpMethodFilter这个过滤器,所有我们请求都会被细分为四种GET,POST,PUT,DELETE,而PUT与DELETE虽然要求使用PUT,DELETE的方式来请求,但是AJAX的type属性还是要设置成POST
web.xml
<!--使用Rest风格的URI,将页面普通的post请求转为指定的delete和put请求-->
<filter>
<filter-name>hiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我们的AJAX请求的时候应该把参数带上 _method
这里要把type设置成POST千万小心!!!
$.ajax(){
url:....,
type:"POST",
data:{
_method:"PUT",
name:"..."
}
}