鍍金池/ 問答/Java  HTML/ 關于CORS跨域問題?

關于CORS跨域問題?

過濾器中已經(jīng)設置了

        httpServletResponse.setHeader("Access-Control-Allow-Origin", httpServletRequest.getHeader("Origin"));

        httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, OPTIONS");
        httpServletResponse.setHeader("Access-Control-Max-Age", "0");
        httpServletResponse.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token, Access-Control-Allow-Origin");
        httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
        httpServletResponse.setHeader("XDomainRequestAllowed", "1");

前端請求也加上了參數(shù)

            xhrFields: {
                withCredentials: true
            },
            crossDomain: true,

返回結果也是200, 但是chrome報錯了

clipboard.png

錯誤

The 'Access-Control-Allow-Origin' header has a value 'null' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access.
回答
編輯回答
瞄小懶

你的Access-Control-Allow-Origin的值是null

Access-Control-Allow-Origin: * 為全部
Access-Control-Allow-Origin: http://baidu.com 為某個或多個域名可以訪問,多個域名用逗號分隔

2017年2月26日 17:41
編輯回答
雨蝶

本地localhost的origin是null,你可以設置為*或特定的域名試試

2017年1月19日 17:41
編輯回答
凝雅

這個不是你單方面設置就有用的,還需要后端的小伙伴幫忙確認一下他們的設置。

2018年2月1日 01:39