跨域拦截配置,是个坑,使用 * ,对于低版本的safri浏览器是不行的。


当初配置CorsFilter,是为了解决跨域的问题,但是今天发现低版本的safri浏览器发不了请求。最后通过抓包工具,查看发送的请求,原来发送Access-Control-Allow-Headers 要求的值是小写的,并且是还有一些之前没见过的格式,不管怎么样,直接复制粘贴上去,问题就解决了。

package com.basetnt.bss.filter;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@Component
public class CorsFilter implements Filter {  private final static Logger logger = LoggerFactory.getLogger(CorsFilter.class);@Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {  HttpServletResponse response = (HttpServletResponse) res;response.setHeader("Access-Control-Allow-Origin", "*");  response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");response.setHeader("Access-Control-Max-Age", "36000");response.setHeader("Access-Control-Allow-Credentials", "true");response.setHeader("Access-Control-Allow-Headers", "origin, x-requested-with, accept, access-control-allow-origin,authorization,content-type");response.setHeader("Access-Control-Expose-Headers", "*");logger.debug("*********************************过滤器被使用**************************");chain.doFilter(req, res);  }@Overridepublic void init(FilterConfig filterConfig) {}@Overridepublic void destroy() {}
}  

Safari浏览器低版本时候,只发option-CorsFilter配置相关推荐

  1. 解决IE浏览器低版本兼容性问题的最快方法

    解决IE8以下浏览器低版本的兼容性问题,最快的方法就是将以下代码放在网页的head标签内: <!--[if lte IE 8]> <script async>location. ...

  2. IE浏览器低版本判断及升级提示

    需求: 由于公司项目对于ie浏览器只支持ie10及以上版本,为了更好的用户体验及人性化提示,想在代码里判断下ie浏览器低版本加个提示. 解决方案: 先贴代码: <!--[if lte IE 9] ...

  3. h5前端IE浏览器低版本判断及升级提示

    需求: 由于公司项目对于ie浏览器只支持ie10及以上版本,为了更好的用户体验及人性化提示,想在代码里判断下ie浏览器低版本加个提示. 解决方案: 先贴代码: <!--[if lte IE 9] ...

  4. position:fixed 兼容浏览器低版本

    项目中遇到的坑,写篇博客做个笔记纪念下,position: fixed一般来说都兼容各个浏览器,但是要兼容浏览低版本问题,就得用-webkit-transform: translateZ(0);这段代 ...

  5. 【thinkphp】ThinkPHP各个低版本(=3.2)完全配置参考手册

    ThinkPHP2.0配置 CHECK_FILE_CASE -- windows环境下面的严格检查大小写. /* 项目设定 */     'APP_DEBUG'    => false, // ...

  6. 使用umi打包项目兼容低版本浏览器如safari,chrome等

    umi.js 中有运算符 Safari和低版本Chrome报错,参考 umijs.org 文档,配置正确的 targets 在umirc.js中配置targets 2.1.0+ 配置浏览器最低版本,会 ...

  7. 解决html5语意标签在IE低版本浏览器下的兼容问题:

    方法一:手动改写. 1.在body中写入h5语意标签,这里用nav标签举例子:<nav></nav> 2.在js中手动创建h5的语意标签:document.createElem ...

  8. vite如何兼容低版本浏览器

    一.问题 在使用vue3.2和vite2.0+开发一个移动端H5,测试时发现很多低版本的安卓手机浏览器出现白屏的现象,而ios机型基本上是好的,原因是很多低版本浏览器并不支持原生ESM导入的方式,下面 ...

  9. java学习笔记——众筹项目练习——项目中的忘记密码(密码找回)与记住我(自动登录)功能 和 返回json数据低版本浏览器显示下载问题的解决、众筹系统架构重构

                                          忘记密码(密码找回) 忘记密码(密码找回)这个功能可以说是目前所有为别人提供服务的软件系统都具备的基础功能啦!很普遍,因为总 ...

最新文章

  1. .net 连接php,NetBeans平台如何连接到PHP解析器?
  2. OCM备考 三. Managing Database Availability 之RMAN日常操作
  3. 关于iPhone 中sqlite文件的使用
  4. 搜索引擎分布式爬虫介绍
  5. 【文章收藏】阿里云破了四个世界纪录
  6. java判断对象已经被回收_Java中JVM判断对象已死的基本算法分析
  7. c++ struct与class
  8. VS2010入门教程
  9. OpenDDS应用开发步骤
  10. Linux 用户必须知道的 14 个常用 Linux 终端快捷键
  11. ES6-promise详解
  12. 网友晒异性合租趣事:坐马桶都要签协议
  13. 苹果手机密码设置在哪里_sim卡密码设置在哪里-sim卡密码设置介绍
  14. ftp上传文件 严重文件传输错误
  15. 用深度学习做了下中国股市预测,结果是...
  16. R语言无法从GitLAB/GITHUB远程安装
  17. 静态路由配置(思科PNET)
  18. 被315点名的流氓下载器,又回来了…
  19. ADC DAC基本概念理解(一)
  20. 深度学习(DL, Deep Learning)

热门文章

  1. (十)RHEL系统之基于LAMP架构部署商城系统
  2. HTML中的target标签的属性值
  3. 金庸的博士后入学考试题目
  4. mysql死锁解决方法_MySQL死锁及解决方案
  5. Linux安装Redis6.0.10步骤
  6. 学python对学c++有帮助吗_Python 优点那么多,学习 C++ 还有用吗?
  7. 【Python中布尔表达式的正确表示】
  8. flex vue 垂直居中居上_vue 弹性布局 实现长图垂直居上,短图垂直居中
  9. 我在上海乐字节学习Java编程—学计算机的女生,是一种怎样的存在?
  10. vue自定义指令(详解)