ajax是不能直接发送put请求的。

原因是:

在tomcat中,是将请求的数据,封装成一个map的,

在获取数据时,调用 request.getParameter("name"); 时,就是从这个map中获取查找数据的,

在springmvc封装POJO对象时,会把POJO中每个属性的值,使用 request.getParameter("name");拿到。

而在ajax发送put请求时,tomcat一看是put请求,所以不会封装请求体中的数据为map,只有post请求才会封装请求体数据为map

当然了,肯定是有解决方法的

第1种解决方法:

在web.xml中配置过滤器

<!-- 使用rest风格的url 将页面普通的post请求转化为delete或者put请求 -->
    <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>
其实在写ajax请求时跟平常的也大差不差,只是在data后面在一个  + "&_method=put", 即可

$.ajax({
    url : "user/" + $(this).attr("id"),
    type : "post",
    data : $("#userUpdateModal form").serialize()+ "&_method=put",
    success : function(result) {
    console.log(result.msg);
    }
});

第二种解决方法:

在web.xml中配置

<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>
然后在ajax中就可以直接使用put请求了

$.ajax({
    url : "user/" + $(this).attr("id"),
    type : "put",
    data : $("#userUpdateModal form").serialize(),
    success : function(result) {
    console.log(result.msg);
    }
});
 转:https://blog.csdn.net/qq_37638061/article/details/82260264

ajax put 请求相关推荐

  1. js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归

    ajax循环请求,不能使用for循环,原因如下: 1. 因为ajax是异步执行,在还没有拿到服务器响应内容,就进入下一个for循环中 解决办法:递归currentIndex = 0; function ...

  2. ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI

    参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式 例如:ajax提交到后台的,就需要对url进行encodeURI编码, 否则,会导致后台出现各种乱码,不加en ...

  3. php 返回字符串给aja,解决ajax异步请求返回的是字符串问题

    1.返回结果差异 js获取后打印res.code无结果.因为返回数据格式不正确. php文件添加header头: header('Content-Type:application/json;'); 或 ...

  4. html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...

    /查询单个 function query(id) { $.ajax({ url : "/small/productServlet", async : true, type : &q ...

  5. ajax jsonp请求报错not a function的解决方案

    ajax jsonp请求报错not a function的解决方案 参考文章: (1)ajax jsonp请求报错not a function的解决方案 (2)https://www.cnblogs. ...

  6. 取消Ajax请求 || Ajax重复请求问题

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. AJAX POST 请求

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. Ajax异步请求-简单模版

    1 <script type="text/javascript"> 2 window.onload = function () { 3 document.getElem ...

  9. Ajax中请求被缓存的问题

    Ajax中请求被缓存的问题 在Ajax开发中,会遇到浏览器缓存内容的问题,比如,某个元素注册了鼠标事件(onmouseover),事件触发后会通过 xmlhttprequest到服务器获取内容,在不刷 ...

  10. ajax发送异步请求四个步骤,深入理解ajax异步请求的五个步骤(详细代码)

    在前端工作中,经常会用到ajax,其实很多人只知道ajax是异步请求,不知道应该如何用它,它的基本步骤有哪些,ajax请求过程是怎样的?接下来这篇文章就给大家介绍Ajax的请求步骤,以及ajax请求步 ...

最新文章

  1. BCH三小时缓慢出块——需要重视的小概率事件
  2. git commit —amend_Git之修改commit记录
  3. 读《大型网站技术架构:核心原理与案例分析》第一章:大型网站架构演化
  4. 将文件中的参数读取成Map
  5. P5137-polynomial【倍增】
  6. Mysql学习总结(35)——Mysql两千万数据优化及迁移
  7. 中国快递包裹总量的预测-基于SARIMA模型
  8. 2011-8-13 随笔一二
  9. Linux常用快捷键命令
  10. AI创业江湖里的师徒帮
  11. 上海国拍服务器位置,上海国拍系统的重大漏洞
  12. PRCS-1016 : Failed to resolve Single Client Access Name
  13. 老男孩python2020年31期学习记录贴
  14. CVE-2022-0847 Linux内核提权漏洞分析
  15. 基于驱动框架编写驱动代码
  16. devstackd 计算Nova的虚机生命周期场景查看
  17. 手淘商家累计活跃粉丝破百亿 电商进入“拼粉”时代
  18. 51单片机矩阵键盘——数码管显示
  19. 上海交通大学2021计算机录取,2021年上海交通大学高考录取结果什么时候出来及查询系统入口...
  20. java插入多条数据_如何使用java代码一次性往数据插入10W条数据

热门文章

  1. MAC程序坞0响应设置
  2. Linux 那么多命令的来源
  3. 超级搜索everything项目
  4. 中央空调安装html5模板,中央空调检修口—中央空调检修口安装须知
  5. LeetCode——剑指 Offer 29【顺时针打印矩阵】
  6. Java开源Android开源项目
  7. 家里WiFi信号差,如何解决?
  8. windows的navicat 连接 linux的mysql服务器问题汇总
  9. 二叉排序树的平均查找长度(成功不成功)
  10. CodeForces 891E Lust(生成函数)