【转】传统的SpringMVC项目如何使用ajax发送PUT或DELETE请求?
原文:https://www.cnblogs.com/lveyHang/p/11790488.html
一、 方式一:将 POST 请求转化为相应的 PUT 和 DELETE 请求
1. 在 Web.xml 中添加如下配置:用于将 POST 请求转化为相应的 PUT 和 DELETE 请求。
1 2 3 4 5 6 7 8 | <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> |
2. 发送 Rest 风格的 Ajax 请求:
① 发送 PUT 请求:
1 2 3 4 5 6 7 8 | $.ajax({ url: "${pageContext.request.contextPath}/emp/" + id, type: "POST" , data:$( "#empModal form" ).serialize() + "&_method=PUT" , success:function (result) { // 请求成功后的回调函数 } }); |
② 发送 DELETE 请求:只需将 “&_method” 的值改为 “DELETE” 即可。
1 2 3 4 5 6 7 8 | $.ajax({ url: "${pageContext.request.contextPath}/emp/" + id, type: "POST" , data:$( "#empModal form" ).serialize() + "&_method=DELETE" , success:function (result) { // 请求成功后的回调函数 } }); |
二、方式二:直接发送 PUT 和 DELETE 请求:
1. 在 web.xml 中配置过滤器:
添加该过滤器的原因,可参考:https://www.cnblogs.com/lveyHang/p/11791412.html
1 2 3 4 5 6 7 8 | <filter> <filter-name>httpPutFormContentFilter</filter-name> <filter- class >org.springframework.web.filter.HttpPutFormContentFilter</filter- class > </filter> <filter-mapping> <filter-name>httpPutFormContentFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
2. 发送 Ajax 请求:
① 发送 PUT 请求:
1 2 3 4 5 6 7 8 | $.ajax({ url: "${pageContext.request.contextPath}/emp/" + id, type: "PUT" , data:$( "#empModal form" ).serialize(), success:function (result) { // 请求成功后的回调函数 } }); |
② 发送 DELETE 请求:
1 2 3 4 5 6 7 8 | $.ajax({ url: "${pageContext.request.contextPath}/emp/" + id, type: "DELETE" , data:$( "#empModal form" ).serialize(), success:function (result) { // 请求成功后的回调函数 } }); |
说明
springboot不需要配置过滤器,已经内置了过滤器,直接写put、delete发请求即可。
__EOF__

本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
2018-01-24 使用unittest单元测试框架对加法做单元测试