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

文章目录

  • 一、将POST请求修改为PUT请求
  • 二、直接发送PUT请求


一、将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>HiddenHttpMethodFilterfilter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilterfilter-class>
    filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilterfilter-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>FormContentFilterfilter-name>
        <filter-class>org.springframework.web.filter.FormContentFilterfilter-class>
    filter>
    <filter-mapping>
        <filter-name>FormContentFilterfilter-name>
        <url-pattern>/*url-pattern>
    filter-mapping>

你可能感兴趣的:(ajax,javascript,前端)