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);}
});

ajax 发送 put 请求相关推荐

  1. $.ajax 发送请求,JavaScript之Ajax-2 Ajax(使用Ajax发送get请求、使用Ajax发送post请求)

    一.使用Ajax发送get请求 发送异步请求的步骤 - 获取Ajax对象:获取 XMLHttpRequest对象实例 - 创建请求:调用XMLHTTPRequest对象的open方法 - 设置回调函数 ...

  2. Django中ajax发送post请求,报403错误CSRF验证失败解决办法

    今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败:先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了:很显 ...

  3. ajax发送异步请求与ajax发送同步请求

    async (默认: true) 默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. ajax发 ...

  4. 原生php ajax post_使用原生ajax发送post请求完整案例

    搜索热词 使用ajax发送数据实现前后台的交互,我想是web开发最基础的技能了.近来dz开发因为不兼容jquery,所以只能使用原生js发送数据,不想还遇到很多问题.在这里分析总结一下.先来一个使用a ...

  5. 原声ajax发送post请求,原生JS实现ajax 发送post请求

    1. [代码]原生JS实现ajax 发送post请求 var oStr = ''; var postData = {}; var oAjax = null; //post提交的数据 postData ...

  6. 使用Ajax发送http请求(getpost请求)

    目录 同步和异步 同步和异步的概念 异步更新网站 Ajax Ajax 的概念 发送 Ajax 请求的五个步骤 Ajax 请求:get 请求举例 Ajax 请求:post 请求举例 XMLHttpReq ...

  7. AJAX发送POST请求

    AJAX发送POST请求 需求: 当鼠标移入到页面div当中,页面向服务端发送POST请求,服务端将响应结果作为显示体在div中显现出来 前端代码 <!DOCTYPE html> < ...

  8. Ajax:ajax发送Post请求、ajax案例

    目录: (1)ajax发送Post请求 (2)ajax发送post请求模拟提交表单数据 (3)ajax案例验证用户名是否可用 (4)发送ajax请求动态展示学生列表案例 (1)ajax发送Post请求 ...

  9. python token post403原因_Django中ajax发送post请求 报403错误CSRF验证失败解决方案

    前言 今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败:先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了 ...

  10. ajax的post请求出现403错误,如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题...

    如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题 发布时间:2021-02-05 14:23:57 来源:亿速云 阅读:92 作者:小新 这篇文章主要介绍了如何解决Dj ...

最新文章

  1. c/c++ 拷贝控制 构造函数的问题
  2. 制度缺陷还是人性不堪
  3. 华为畅享9s可以升级鸿蒙吗,珍珠全面屏!华为畅享9S/9e正式发布:千元三摄加持...
  4. html自定义列表第三层嵌套,【微信小程序】关于微信小程序多层嵌套渲染列表以及嵌套列表中数据的获取...
  5. 【PC端vue ui框架学习】vue项目如何使用基于vue的UI框架Element
  6. shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?
  7. 国科大高级人工智能2-人工神经网络(MLP、Hopfield)
  8. linux-centos7 常用的基本命令--用户组管理
  9. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十三周学习总结
  10. pika集群水平扩展——让性能容量不再受限
  11. scrapy 去重策略修改
  12. ServletContextListener作用(转)
  13. Atitit.css 规范 bem 项目中 CSS 的组织和管理
  14. Android SDK下载和安装,以及部署
  15. MIPI 打怪升级之DSI篇
  16. 阿里云缺少中间证书:小程序在开发者工具和ios请求正常,在安卓手机上无效
  17. 电话号码的正则表达式
  18. 正点原子第四期环境搭建
  19. MAC系统 LightGBM模型转为pmml格式
  20. python小白学习第三节

热门文章

  1. 智能投顾-用户画像、投资组合选择、推荐引擎、大数据挖掘
  2. 需求预测——Gallat: A Spatiotemporal Graph Attention Network for Passenger Demand Prediction
  3. Android打字机动画,Android自定义View实现打字机效果
  4. 南阳oj 题目127 星际之门(一)
  5. logstash性能测试
  6. java根据经纬度获取地址信息
  7. Python2—0704笔记
  8. Sphinx使用说明
  9. 计算机系统兼容在哪里,电脑怎么看系统兼容的
  10. ubuntu  管理员权限 文件操作