Ajax向后端发送PUT请求的两种方法

本文介绍两种将POST请求转换为PUT请求的方法:一是通过HiddenHttpMethodFilter实现,二是直接发送PUT请求并结合FormContentFilter解决Tomcat接收参数问题。文中详细展示了如何配置过滤器及Ajax调用示例。


一、将POST请求修改为PUT请求

通过HiddenHttpMethodFilter过滤器将POST请求修改为PUT请求
需要传入参数_method=put

Ajax代码

$.ajax({
    type : "post",
    url : basePath + "/emp/" + $("#update_emp_btn").attr("update-id"),
    data : $("#empUpdateModel form").serialize() + "&_method=put",
    success : function (result){
        alert("处理成功!");
    }
})

web.xml

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

二、直接发送PUT请求

由于Tommcat版本的问题,直接发送PUT请求,后端不能获取发送过来的参数,需要使用FormContentFilter过滤器包装请求,重写getPatamter方法。

Ajax代码

$.ajax({
    type : "PUT",
    url : basePath + "/emp/" + $("#update_emp_btn").attr("update-id"),
    data : $("#empUpdateModel form").serialize(),
    success : function (result){
        //关闭模态框
        $("#empUpdateModel").modal("hide");
        //跳转为当前页数
        toPage(currentPage);
    }
})

web.xml

	<filter>
        <filter-name>FormContentFilter</filter-name>
        <filter-class>org.springframework.web.filter.FormContentFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>FormContentFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值