springMVC中的非简单请求
在发请求加入data字段
$(function () {
$("#btnPost").click(function () {
$.ajax({
url: "/restful/request/100",
type: "post",
data:"name=wei&age=21",
dataType: "json",
success: function (json) {
$("#message").text(json.message+":"+json.id);
}
})
})
发现post能正常获取到前端传过来的数据,put请求则不能。why?
涉及到一个历史问题,作为最早的SpringMVC当然是为我们网页服务的,默认网页在表单提交的时候只支持post和get这两种请求,对于put和delete这两种特殊请求是不支持的。但是随着技术的演进,put和delete作为Spring MVC是必须要考虑的。但SpringMvc又不能把put和delete请求的处理方式强塞进原有的代码中,所以SpringMVC做了一个折中的方案:作为put和delete这两种非简单请求,springMVC提供了一个额外的表单内容过滤器来对put和delete进行额外处理。具体写法是:在web.xml中配置表单内容过滤器 见下文
在web.xml添加表单内容过滤器
<filter>
<!--表单内容过滤器 (利用这个过滤器对put和delete请求进行支持)就能支持参数的获取-->
<filter-name>formContentFilter</filter-name>
<filter-class>org.springframework.web.filter.FormContentFilter</filter-class>
</filter>
<!--要增加filter mapping对url进行过滤 (默认对所有请求地址进行过滤)-->
<filter-mapping>
<filter-name>formContentFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗