|
问题:
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.
原因:
出现这问题有可能是服务器端配置了跨域选项,在代码端也指定了跨域设置导致冲突,去掉一边的配置即可
解决方案:
代码中配置了跨域拦截器:
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- response.setHeader("Access-Control-Allow-Origin", "*");
- response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Max-Age", "3600");
- response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
- response.setHeader("Access-Control-Allow-Credentials","true");
- return super.preHandle(request, response, handler);
- }
复制代码 nginx配置了:
- add_header Access-Control-Allow-Origin *;
- add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
- add_header Access-Control-Allow-Headers X-Requested-With;
复制代码 去掉其中之一。
|
|