ajax使用serialize()方法后,数据无法封装并获取(PUT提交方式!)
来源:互联网 发布:sql授权修改表结构语句 编辑:程序博客网 时间:2024/05/22 15:28
跟着视频学习时候,用到了serialize()方法封装一组form中的数据,然后使用PUT方式提交,但是却无法获取到其中的信息,而且信息台还报错说SQL语句错误,如图
如图,用PUT提交数据后,在Controller.java中写了一个输出语句,结果发现获取到的数据居然都是null!
然而,我之前用POST的方式都没问题,能够很好的获取封装好的数据然后提取出来。
我根据信息台去看,说SQL语句报错,然而SQL语句是mybatis-generator自动生成的,肯定是每错的。而真正的问题,就出在PUT提交方式上
简单来说就是:Tomcat本身的设置,令Tomcat无法封装PUT方式提交的数据,只能封装POST提交的数据,这样一来,自然无法读取数据
解决方法:在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>
原理:我们需要能支持直接发送PUT请求,还要封装请求体中的数据,配置如上的xml。将请求体中的数据封装成一个map,request被重新包装,request.getParameter()会被重新封装,就会从自己封装的map中取数据
解决后如图
阅读全文
0 0
- ajax使用serialize()方法后,数据无法封装并获取(PUT提交方式!)
- jQuery ajax中使用serialize() 方法提交表单数据
- jQuery ajax中使用serialize() 方法提交表单数据
- jQuery ajax中使用serialize()方法提交表单数据
- jQuery ajax中使用serialize()方法提交表单数据
- jQuery ajax中使用serialize() 方法提交表单数据
- jQuery ajax中使用serialize() 方法提交表单数据
- jQuery ajax()使用serialize()提交form数据
- jQuery ajax()使用serialize()提交form数据
- jQuery ajax()使用serialize()提交form数据
- jQuery ajax()使用serialize()提交form数据
- jQuery ajax()使用serialize()提交数据
- Android使用Put方式提交数据
- AJAX提交并获取数据
- 使用 ajax 方式提交表单,并获取后台处理结果
- ajax表单提交使用serialize()方法解决中文乱码
- ajax表单提交使用serialize()方法解决中文乱码
- 使用KindEditor提交表单后无法获取到数据
- 2 XML schema
- 函数
- 《C++ Primer》读书笔记第四章-1-基础 And 运算符
- 三大框架之Spring (初级学习 2)
- springMVC整合freemarker的使用
- ajax使用serialize()方法后,数据无法封装并获取(PUT提交方式!)
- Android源码:AMS、PMS、WMS原理分析
- Ubuntu修改hosts地址
- 一些关于链表的题
- redis
- Oracle数据库调用和存储方式不得不知道的秘密
- win10安装ubuntu双系统遇到的奇葩问题
- CentOS 7+ 定时任务总结
- 通信协议——SPI总线