前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

跨域问题报错:

Access to XMLHttpRequest at 'http://xx.xx.xx.xx/getUser' from origin
'http://ergouzi.fun' has been blocked by CORS policy:
The 'Access-Control-Allow-Origin' header contains multiple values
'http://ergouzi.fun, *, http://ergouzi.fun', but only one is allowed.

1. 为了解决跨域问题,我在服务端代码中加了个过滤器:

package gentle.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** 解决跨域设置* (可把此设置放在 nginx 中,但只能设置一处)** @author silence* @date 2018/12/11 15:19*/@WebFilter(filterName = "requestFilter", urlPatterns = {"/*"})
public class RequestFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletResponse response = (HttpServletResponse) servletResponse;HttpServletRequest request = (HttpServletRequest) servletRequest;// 此处 setHeader、addHeader 方法都可用。但 addHeader时写多个会报错:“...,but only one is allowed”// response.setHeader("Access-Control-Allow-Origin", "*");response.addHeader("Access-Control-Allow-Origin", request.getHeader("origin"));// 解决预请求(发送2次请求),此问题也可在 nginx 中作相似设置解决。response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Cache-Control,Pragma,Content-Type,Token, Content-Type");response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");response.setHeader("Access-Control-Max-Age", "3600");response.setHeader("Access-Control-Allow-Credentials", "true");String method = request.getMethod();if (method.equalsIgnoreCase("OPTIONS")) {servletResponse.getOutputStream().write("Success".getBytes("utf-8"));} else {filterChain.doFilter(servletRequest, servletResponse);}}@Overridepublic void destroy() {}}

2. 同时在 nginx 中也作了相关配置:

add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
add_header 'Access-Control-Allow-Headers' 'Content-Type';
...

3. 运行报错如题。

4. 解决:此错表示设置重复,只允许设置一种,去除多余设置,保留一种即可。选择第1点中方法,或者第2点中方法都可以。

----------------------------------------------------------------------------

跨域相关知识点解说: https://blog.csdn.net/jiangyu1013/article/details/84315748

PS 跨域问题解决也见文章 :解决跨域问题:No 'Access-Control-Allow-Origin' header is present on the requested resource.

解决:The ‘Access-Control-Allow-Origin‘ header contains multiple values‘x, *‘, but only one is allowed.相关推荐

  1. 解决The‘Access-Control-Allow-Origin‘ header contains multiple values‘*, ....‘, but only one is allowed

    报错内容: Access to XMLHttpRequest at 'http://www.z........n.com/api/login' from origin 'http://z....... ...

  2. Spring Cloud Zuul The 'Access-Control-Allow-Origin' header contains multiple values

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 发布Spring Cloud Zuul的时候,前端遇到如下错误:  The 'Access-Control-Al ...

  3. php access control allow origin,js请求跨域问题--Access-Control-Allow-Origin

    在前台调试的时候出现XMLHttpRequest cannot load http://www.xx.com/Action/Index.php?Action=11. No 'Access-Contro ...

  4. The ‘Access-Control-Allow-Origin‘ header contains multiple values

    此错误表明我们我们进行了多个跨越配置的处理,而系统之认一个,所以需要删除,只留下一个就好. 1 gateway网关配置 2@CrossOrigin 注解 3 所引入的文件中带有对跨越的处理 4ngin ...

  5. 关于Springboot中跨域问题的解决(Response to preflight request doesn‘t pass access control check)

    Springboot中跨域问题的解决 等不及的小伙伴,直接跳到结论部分即可,谢谢!!! 1. 背景 1.1 使用技术栈 Spring Security Springboot Vue.axios Jwt ...

  6. 关于跨域 Response to preflight request doesn‘t pass access control check

    做项目的时候由于访问了不同的服务器,然后导致了跨域问题,报错情况为: has been blocked by CORS policy: Response to preflight request do ...

  7. Response to preflight request doesn‘t pass access control check: The value of the ‘Access-Control-Al

    错误:Response to preflight request doesn't pass access control check: The value of the 'Access-Control ...

  8. GO + React + Axios Response to preflight request doesn't pass access control check: It does not hav

    使用Go + Reat 使用 Axios 请求后端, 出现: Access to XMLHttpRequest at 'http://127.0.0.1:20002/v1/user/login' fr ...

  9. Response to preflight request doesn‘t pass access control check: No ‘Access-Control-Allow-Origin跨域问题

    出现问题:在本地运行,有配置vue.config.js中的proxy,所以解决了跨域问题.但将项目打包放到服务器上去,在打包的过程中,proxy是不会被打包进去的,也就是说代理所配置的跨域就已经失效了 ...

最新文章

  1. 全球海拔最高的国际级数据中心竣工,西藏有了大数据存储中心
  2. STL源码学习(一)迭代器概念与traits编程技法
  3. PHP获取优酷视频FLV地址
  4. dataoutputstream.write 有时无法发送_RTK实操——CORS官方网教您如何解决RTK无法固定的问题...
  5. 算法移植优化(七)cmake常用函数记录
  6. Bootstrap 表单的扩展控件
  7. iOS 开发之几个 Demo 分享网站
  8. arp病毒的解决方法
  9. OCR算法识别性能评估
  10. 马上跨年了,用Python带你看一场跨年烟花秀
  11. 从融360到理财魔方、再到韭菜财经,新金融正确姿势为哪般?
  12. 电脑版 钉钉 卡顿 解决办法
  13. ubuntu 8.10安装配置经验(Intrepid Ibex)——转载
  14. 政府云计算的构建选择-刘鑫(政务云 云平台)
  15. 电视盒子的选购和使用技巧
  16. 关于使用mac开发的一些小技巧
  17. xilinx 高速收发器Serdes深入研究 GTX-1
  18. r、 weka从决策树模型看员工为什么离职?
  19. win7讲述人修复_win7讲述人无法正常启动
  20. 将Unity官方射击游戏 Space Shooter 改为实时对战小游戏,使用天梯实时对战服务(NanoLink)

热门文章

  1. java构造方法的签名_如何在 Java 中构造对象(学习 Java 编程语言 034)
  2. PWN-PRACTICE-BUUCTF-3
  3. 【Codeforces - 798C】 Mike and gcd problem(思维,贪心)
  4. 【HDU - 1518】Square (经典的dfs + 剪枝)
  5. java kryo register_java相关:Kryo框架使用方法代码示例
  6. hashmap为什么是2的倍数_HashMap源码解析(jdk1.8)
  7. matlab rootdir,Python cfg.ROOT_DIR属性代码示例
  8. python websocket服务器https_Socket与WebSocket以及http与https重新总结
  9. leetcode279 完全平方数
  10. 关于Java中String的问题