API跨域配置次数过多产生的前端调用提示the 'Access-Control-Allow-Origin' header contains multiple values '*, *', 等信息解决

开发环境 Vs2015,

开发内容 webApi ,

遇到的问题:前端调用失败,提示如下内容。

api.test.html:1 XMLHttpRequest cannot load url   The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'null' is therefore not allowed access.

————————————————————————————————————————————

1.这个问题足足折磨了两天,感觉度娘都快被找遍了,一直以为是跨域的问题,其实也是跨域的问题,但是注意这句话

The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.

2.在vs2015中,为了解决跨域,我们是在nuget内添加第三方cors的,然后如果先不考虑安全的情况下,我们在WebApiConfig.cs内添加跨域的相关配置。

3.问题出在这里,2里面的相关配置都设置好之后,在webconfig中,有的资料里面是让在webserver下加入httpProtocol节点和handlers节点的。这样问题就出现了,设置了两次跨域。

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

解决办法:删掉webconfig内的这两个节点,只保留WebApiConfig.cs 内的一处就可以了。

个人拙见,没有来得及深入研究其原理,有不对的地方,希望指正。

 

API跨域配置次数过多产生的前端调用提示the 'Access-Control-Allow-Origin' header contains multiple values '*, *', 等信息解决_第1张图片

 

你可能感兴趣的:(WebApi)