ajax中发送delete请求,后台无法收到的解决方法

场景

最近了解了restful风格的url的设计,所以在练手项目中想尝试一下,但是在尝试中遇到了标题所示的问题,后台接收的参数适中为null,真是气爆哦。困扰了我非常之久,后来总算找到了解决方法

步骤

1.首先,也是最重要的,就是在web.xml中增加一个过滤器

<!--解决ajax无法进行PUT、DELETE请求无法传递参数-->
    <filter>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <!-- 备注,这边的名称必须和配置'springmvc'的servlet名称一样 -->
      <servlet-name>spring-mvc</servlet-name>
    </filter-mapping>

至于为什么要增加这个过滤器呢,是因为 浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过滤器为HiddenHttpMethodFilter。

2.接下来,要更改js中部分代码

$.ajax({
            type:"POST",//此处仍然使用post
            url:"xxxx",
            async:false,
            traditional:true,
            dataType:"json",
            data:{
                _method:"DELETE", //这里是要修改的部分
                "id":xxx
            },
            success:function (result) {
                console.log(result);
                alert("haha");
            }
        })
这样就可以解决啦!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值