ajax put 请求
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 请求相关推荐
- js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归
ajax循环请求,不能使用for循环,原因如下: 1. 因为ajax是异步执行,在还没有拿到服务器响应内容,就进入下一个for循环中 解决办法:递归currentIndex = 0; function ...
- ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI
参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式 例如:ajax提交到后台的,就需要对url进行encodeURI编码, 否则,会导致后台出现各种乱码,不加en ...
- php 返回字符串给aja,解决ajax异步请求返回的是字符串问题
1.返回结果差异 js获取后打印res.code无结果.因为返回数据格式不正确. php文件添加header头: header('Content-Type:application/json;'); 或 ...
- html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...
/查询单个 function query(id) { $.ajax({ url : "/small/productServlet", async : true, type : &q ...
- ajax jsonp请求报错not a function的解决方案
ajax jsonp请求报错not a function的解决方案 参考文章: (1)ajax jsonp请求报错not a function的解决方案 (2)https://www.cnblogs. ...
- 取消Ajax请求 || Ajax重复请求问题
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- AJAX POST 请求
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- Ajax异步请求-简单模版
1 <script type="text/javascript"> 2 window.onload = function () { 3 document.getElem ...
- Ajax中请求被缓存的问题
Ajax中请求被缓存的问题 在Ajax开发中,会遇到浏览器缓存内容的问题,比如,某个元素注册了鼠标事件(onmouseover),事件触发后会通过 xmlhttprequest到服务器获取内容,在不刷 ...
- ajax发送异步请求四个步骤,深入理解ajax异步请求的五个步骤(详细代码)
在前端工作中,经常会用到ajax,其实很多人只知道ajax是异步请求,不知道应该如何用它,它的基本步骤有哪些,ajax请求过程是怎样的?接下来这篇文章就给大家介绍Ajax的请求步骤,以及ajax请求步 ...
最新文章
- BCH三小时缓慢出块——需要重视的小概率事件
- git commit —amend_Git之修改commit记录
- 读《大型网站技术架构:核心原理与案例分析》第一章:大型网站架构演化
- 将文件中的参数读取成Map
- P5137-polynomial【倍增】
- Mysql学习总结(35)——Mysql两千万数据优化及迁移
- 中国快递包裹总量的预测-基于SARIMA模型
- 2011-8-13 随笔一二
- Linux常用快捷键命令
- AI创业江湖里的师徒帮
- 上海国拍服务器位置,上海国拍系统的重大漏洞
- PRCS-1016 : Failed to resolve Single Client Access Name
- 老男孩python2020年31期学习记录贴
- CVE-2022-0847 Linux内核提权漏洞分析
- 基于驱动框架编写驱动代码
- devstackd 计算Nova的虚机生命周期场景查看
- 手淘商家累计活跃粉丝破百亿 电商进入“拼粉”时代
- 51单片机矩阵键盘——数码管显示
- 上海交通大学2021计算机录取,2021年上海交通大学高考录取结果什么时候出来及查询系统入口...
- java插入多条数据_如何使用java代码一次性往数据插入10W条数据