1、问题描述:Ajax中Restful风格PUT和DELETE请求传递参数无效或不支持POST方法
浏览器报405错
后台报错:
2、问题排查:
2.1:检查web.xml是否配置:HiddenHttpMethodFilter
配置代码
<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>
进入 HiddenHttpMethodFilter源码
可以参数部分补充"&_method=PUT" ,即可将post请求转为delete或者put请求
前端ajax请求
后台控制层
重新请求成功
小结:
1、首先第一个需要确认请求方法类型是否一致?
2、请求数据类型 和 接收的数据类型是否一致?
3、请求参数是否正确?(注意ajax参数是data不是date,controller的占位符{empId}要是实体类中的)
REST原则
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)