在REST服务中必不可少的需要PUT、DELETE提交,但是目前很多的游览器并不支持。所以在使用REST前需要进行一些额外的处理。

具体解决方案如下:

1,先添加一个filter。这个filter就是实现这个功能的关键。打开web.xml,添加如下代码(要放到最前面):

复制代码

 <filter><filter-name>httpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>httpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

这个就会去拦截带有_method的方法进行处理

2,前端请求修改

标准的rest delete请求ajax书写方式:

$.ajax({type: "delete",url:url,data: {"contentId": id},success: function (data) {if (data.status == 0) {alert("成功!");location.reload();} else {alert("操作失败!" + data.reason);}}});

这是理想中的请求方式。然而delete方法并不被浏览器支持,所以要改成下面这样:

 $.ajax({type: "post",url:url,data: {"contentId": id, "_method": "delete"},success: function (data) {if (data.status == 0) {alert("成功!");location.reload();} else {alert("操作失败!" + data.reason);}}});

注意标红部分。type为post,因为如果为get的话,data中的参数都会被忽略。参数中加上_method,告诉spring这个是delete请求。如果是表单,则加一个隐藏的input,name是_method即可。这样就可以跨越浏览器来使用rest接口了。

转载于:https://www.cnblogs.com/chenkeyu/p/7853680.html

SpringMVC,针对不支持PUT、DELETE提交的游览器处理方式相关推荐

  1. 配置tomcat支持http delete和put的方法

    来源:http://blog.sina.com.cn/s/blog_4b5bc01101013flw.html WebDAV(Web-based Distributed Authoring and V ...

  2. CDH中配置hive支持update delete

    cdh hive支持update delete参数配置方法 以下配置项必须被设定: Client端:hive.support.concurrency – true hive.enforce.bucke ...

  3. SpringMVC处理Json、文件上传、拦截器

    SpringMVC处理Json.文件上传.拦截器 : 处理JSON 链接 http://repo1.maven.org/maven2/com/fasterxml/jackson/core/ 步骤 编写 ...

  4. 表单提交中Get和Post方式的区别及EncType表明提交数据的格式详解

    表单提交中Get和Post方式的区别 1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对 ...

  5. form表单、控制器中接收表单提交数据的4种方式

    Form表单 这篇文章主要讲的是form表单的提交 之前我们接触过的form表单元素是在Bootstrap框架里面,这次也将用到Bootstrap框架去布局(见图表1)通过Bootstrap框架布局呈 ...

  6. OmniPlayer Pro for Mac v1.4.12 支持无线投屏的视频播放器

    OmniPlayer全能播放器 for Mac是一款支持macOS上几乎所有音频和视频格式的多媒体播放器.它功能强大,设计简洁现代.它能够通过硬件解码轻松播放各种4K/1080P/720P的高清视频, ...

  7. android能播放4k视频格式,安卓APP,无广告支持多种格式的万能视频播放器

    原标题:安卓APP,无广告支持多种格式的万能视频播放器 万能视频播放器 万能视频播放器是一款专业的视频播放工具.它支持所有视频格式,支持 4K/超高清视频文件,并且能够高清播放.它是安卓手机和平板上欣 ...

  8. ETHA Lend—由波卡支持的跨链收益优化器

    在过去的两年中,DeFi领域经的繁荣令人兴奋,在其经历了小幅下滑之后如今终于回归稳定,同时DeFi也吸引了相当数量的资金进入这一领域.随着该行业的发展,DeFi也确确实实代表了一种全新的.具有平衡性的 ...

  9. SpringMvc同时配置jsp和html的视图解析器

    SpringMvc同时配置jsp和html的视图解析器 1.首先引入freemarker的jar包. <dependency><groupId>org.freemarker&l ...

最新文章

  1. 基于C++有限状态机的实现技术
  2. (一)Builder(建造者)模式
  3. python数字排序 循环_【python-leetcode448-循环排序】找到所有数组中消失的数字
  4. 抓包工具Fiddler的使用说明
  5. python绘制风向玫瑰图和污染物玫瑰图
  6. 斯坦福大学自然语言处理第二课“文本处理基础(Basic Text Processing)”
  7. 用正则表达式改变或清除页面超链接标签url内容
  8. c语言程序设计火车站售票系统,C语言程序-火车站售票系统程序
  9. 面试题心得--spring注解的原理
  10. 手机号码检测开通微信工具如何进行选择
  11. 8大风险识别工具,轻松应对风险管理
  12. TextView跑马灯
  13. Promethues原理详解
  14. 01.Polsarpro软件介绍
  15. SketchUp: Modeling from Photos SketchUp教程:从照片建模 Lynda课程中文字幕
  16. intellidea 应用问题
  17. 2021年河南高考--各高校在河南录取分数线预测(本科一批——文科)
  18. Mac远程windows服务器
  19. ELF文件——动态链接
  20. flutter展示图片

热门文章

  1. 工作10年后,再看String s = new String(xyz) 创建了几个对象?
  2. 刷了一个月算法,终于拿到了double的offer
  3. Java开发最常犯的10个错误,打死都不要犯!
  4. 如何判断一个元素在亿级数据中是否存在?
  5. 机器学习_周志华_问题汇总_第2周
  6. 【numpy学习笔记】数组的创建和基本运算
  7. 2022斯坦福AI指数报告出炉!中国霸榜AI顶会,但引用量最低
  8. Fine-tune之后的NLP新范式:Prompt越来越火,CMU华人博士后出了篇综述文章
  9. 「x is All You Need」,当学术论文开始标题党……
  10. 清华芯片研究再获顶会MICRO加持:软件定义芯片团队出品,最佳论文提名后又一突破...