资料汇总--Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)【转】
开发环境:Tomcat9.0
在使用Ajax实现Restful的时候,有时候会出现无法Put、Delete请求参数无法传递到程序中的尴尬情况,此时我们可以有两种解决方案:1、使用地址重写的方法传递参数。2、配置web.xml项目环境。
测试的程序为:
@RequestMapping(value = "/member", method = RequestMethod.PUT, produces = "application/json;charset=UTF-8")
public @ResponseBody Object edit(Member vo1) {
log.info("【*** 修改用户信息 ***】" + vo1);
JSONObject obj = new JSONObject();
obj.put("flag", true);
return obj;
}
一、使用地址重写的方法来实现put、delete请求的参数传递。
在js页面中(
$(editMember).on("click",function(){
$.ajax({
url : "member?empno=1009&ename=阿伦&sal=19777.77&hiredate=1969-10-10" , // 处理的请求路径
type : "put" , // 此处发送的是PUT请求(可变更为其他需要的请求)
dataType : "json" , // 返回的数据类型为json类型
success : function(data) {
$(showDiv).append("<p>修改处理结果:" + data.flag + "</p>") ;
} ,
error : function(data) {
$(showDiv).append("<p>对不起,出错啦!</p>") ;
}
}) ;
}) ;
二、使用配置文件修改来实现Put和Delete请求的参数传递
1、解决Put请求的参数传递,但是 无法解决 Delete 请求的传递
①、在项目中的web.xml文件中配置:
<filter>
<filter-name>HttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
②在js文件中:
$(editBut).on("click",function(){
$.ajax({
url: "member",
type : "put", // 此处发送的是PUT请求
data : {
empno : 1170,
ename : "SMITH",
sal : 11.1,
hiredate : "1991-11-11"
},
success : function(data){
$(showDiv).append("<p> 数据更新成功:"+data.flag+"</p>");
console.log(1);
},
dataType : "json",
error : function(data){
$(showDiv).append("<p>对不起,出错啦!</p>");
}
})
});
2、解决 Put和Delete 请求的参数传递。
①、在项目中的web.xml文件中配置:
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<!-- 备注,这边的名称必须和配置'springmvc'的servlet名称一样 -->
<servlet-name>springmvc</servlet-name>
</filter-mapping>
②在js文件中:
$(editBut).on("click",function(){
$.ajax({
url: "member",
type : "post", // 此处发送的是POST请求
data : {
_method : "put", // 将请求转变为PUT请求
empno : 1170,
ename : "SMITH",
sal : 11.1,
hiredate : "11111-11-11"
},
success : function(data){
$(showDiv).append("<p> 数据更新成功:"+data.flag+"</p>");
console.log(1);
},
dataType : "json",
error : function(data){
$(showDiv).append("<p>对不起,出错啦!</p>");
}
})
});
资料汇总--Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)【转】的更多相关文章
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)
本文装载自:http://blog.csdn.net/u012737182/article/details/52831008 感谢原文作者分享 开发环境:Tomcat9.0 在使用Ajax实现R ...
- Node.js中针对中文的查找和替换无效的解决方法
Node.js中针对中文的查找和替换无效的解决方法. //tags的值: tag,测试,帖子 var pos1 = tags.indexOf("测"); //这里返回-1 ta ...
- php form表单提交时,action url中参数无效的解决方法
表单提交时get方式的一个错误 <form class="form-inline pull-right" method="get" action=&quo ...
- jQuery中hover和blur使用代理delegate无效的解决方法
今天就遇到了这样的小问题: $(document).ready(function(){ $('.status_on').hover(function(){ $(this).html('点击禁用'); ...
- IPhone中H5页面用on绑定click无效的解决方法
首先声明本人资质尚浅,本文只用于个人总结.如有错误,欢迎指正.共同提高. --------------------------------------------------------------- ...
- spring boot:方法中使用try...catch导致@Transactional事务无效的解决(spring boot 2.3.4)
一,方法中使用try...catch导致@Transactional事务无效的解决方法 1,问题的描述: 如果一个方法添加了@Transactional注解声明事务, 而方法内又使用了try catc ...
- 【转】AJAX发送 PUT和DELETE请求注意事项
jax使用restful服务发送put 和 delete 请求时直接传参会出现问题 一,采用POST + _method:delete/put + filter 的方法ajax发送put 和 de ...
- AJAX发送 PUT和DELETE请求参数传递注意点,了解一下
ajax发送put 和 delete 请求时,需要传递参数,如果参数在url地址栏上,则可以正常使用, 如果在 data:中需要传递参数,(浏览器会使用表单提交的方式进行提交) 则需要注意此时应作如下 ...
- 解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容
解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容 解决方案 在 Web.xml文件中 加入以下代码 <!--解决ajax Put与Del请求无法接收到传输的内容-- ...
随机推荐
- [Xamarin]我的Xamarin填坑之旅(一)
一想到明天是星期五,不对,是今天,心里就很激动,毕竟明天没课.激动之余,来写一篇博客,记录一下最近踏坑Xamarin开发校园助手APP的一些事儿.也许更像是一篇流水账. 在扯Xamarin之前,有必要 ...
- OpenSL的使用
#include <jni.h> #include <string> #include <SLES/OpenSLES.h> #include <SLES/Op ...
- Sbulime Text 2 修改选中字符串的颜色
Sublime Text 2 > Preferences > Browse Packages... 假设当前试用的 Color Scheme 是 Monokai,则在 Color Sche ...
- Python(多线程threading模块)
day27 参考:http://www.cnblogs.com/yuanchenqi/articles/5733873.html CPU像一本书,你不阅读的时候,你室友马上阅读,你准备阅读的时候,你室 ...
- Flask从入门到精通之Flash消息
请求完成后,有时需要让用户知道状态发生了变化.这里可以使用确认消息.警告或者错误提醒.一个典型例子是,用户提交了有一项错误的登录表单后,服务器发回的响应重新渲染了登录表单,并在表单上面显示一个消息,提 ...
- Kafka运行环境优化实践
Kafka高性能的特点及条件 Kafka是一个高吞吐量分布式消息中间件,并且提供了消息的持久化功能.其高可行有两个重要的特点: 利用了磁盘连续读写性能显著高于随机读写性能的特点 并发,将一个topic ...
- mysql_load_data及权限管理
———————————————————————————————————————— 添加权限: The only priv_type values you can specify for a table ...
- 在 iOS 上编译 webkit 源码
准备工作 买一台 mac 下载并安装 Xcode 下载源码 git clone git://git.webkit.org/WebKit.git WebKit 这个可能要耗费很久很久 编译源码 打开 X ...
- 【xsy1122】 路径 点分治+trie
题目大意:给你一棵n个点的树,树边上有边权,对于每一个点,你要求出经过该点的所有的路径中,路径异或和最大的值. 数据范围:$n≤10^5$,边权$≤10^9$. 我们考虑枚举每一条路径,显然这个是会T ...
- DataTable自身查询方法
这里说到的查询有两种. 1.DataTable.Select 2.DataTable.Rows.Find a>先建立一个DataTable供使用吧. /// <summary> ...