Ajax中Restful風格PUT和DELETE請求傳遞參數無效 提示:Request method 'POST' not supported

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章