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原則