中三A105论坛

注册 登录
查看: 71|回复: 0

【前端】Access-Control-Allow-Origin报错

[复制链接]

169

主题

169

帖子

603

积分

高级会员

Rank: 4

积分
603
发表于 2024-7-22 14:41:28 | 显示全部楼层 |阅读模式
问题:
Failed to load http://xx.com/mobile/service: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'http://localhost:8081' is therefore not allowed access.


原因:
出现这问题有可能是服务器端配置了跨域选项,在代码端也指定了跨域设置导致冲突,去掉一边的配置即可


解决方案:
代码中配置了跨域拦截器:
  1. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  2.         response.setHeader("Access-Control-Allow-Origin", "*");
  3.         response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
  4.         response.setHeader("Access-Control-Max-Age", "3600");
  5.         response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
  6.         response.setHeader("Access-Control-Allow-Credentials","true");
  7.         return super.preHandle(request, response, handler);
  8.     }
复制代码
nginx配置了:
  1. add_header Access-Control-Allow-Origin *;
  2.   add_header Access-Control-Allow-Methods GET,POST,OPTIONS;   
  3.   add_header Access-Control-Allow-Headers X-Requested-With;
复制代码
去掉其中之一。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部