一、 方式一:將 POST 請求轉化為相應的 PUT 和 DELETE 請求
1. 在 Web.xml 中添加如下配置:用於將 POST 請求轉化為相應的 PUT 和 DELETE 請求。
1 <filter> 2 <filter-name>hiddenHttpMethodFilter</filter-name> 3 <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> 4 </filter> 5 <filter-mapping> 6 <filter-name>hiddenHttpMethodFilter</filter-name> 7 <url-pattern>/*</url-pattern> 8 </filter-mapping>
2. 發送 Rest 風格的 Ajax 請求:
① 發送 PUT 請求:
1 $.ajax({ 2 url:"${pageContext.request.contextPath}/emp/" + id, 3 type:"POST", 4 data:$("#empModal form").serialize() + "&_method=PUT", 5 success:function (result) { 6 // 請求成功后的回調函數 7 } 8 });
② 發送 DELETE 請求:只需將 “&_method” 的值改為 “DELETE” 即可。
1 $.ajax({ 2 url:"${pageContext.request.contextPath}/emp/" + id, 3 type:"POST", 4 data:$("#empModal form").serialize() + "&_method=DELETE", 5 success:function (result) { 6 // 請求成功后的回調函數 7 } 8 });
二、方式二:直接發送 PUT 和 DELETE 請求:
1. 在 web.xml 中配置過濾器:
添加該過濾器的原因,可參考:https://www.cnblogs.com/lveyHang/p/11791412.html
1 <filter> 2 <filter-name>httpPutFormContentFilter</filter-name> 3 <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> 4 </filter> 5 <filter-mapping> 6 <filter-name>httpPutFormContentFilter</filter-name> 7 <url-pattern>/*</url-pattern> 8 </filter-mapping>
2. 發送 Ajax 請求:
① 發送 PUT 請求:
1 $.ajax({ 2 url:"${pageContext.request.contextPath}/emp/" + id, 3 type:"PUT", 4 data:$("#empModal form").serialize(), 5 success:function (result) { 6 // 請求成功后的回調函數 7 } 8 });
② 發送 DELETE 請求:
1 $.ajax({ 2 url:"${pageContext.request.contextPath}/emp/" + id, 3 type:"DELETE", 4 data:$("#empModal form").serialize(), 5 success:function (result) { 6 // 請求成功后的回調函數 7 } 8 });