首页 > Windows开发 > 详细

关于webapi跨域问题的一些坑坑

时间:2019-08-29 14:57:15      阅读:131      评论:0      收藏:0      [点我收藏+]

1.可以直接使用第三方插件Cors,最方便

技术分享图片

 

2.在WebApiConfig下面添加全局操作:

 config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

3.或者在Controller上面添加单个的

[EnableCors(origins: "http://localhost:8081/", headers: "*", methods: "GET,POST,PUT,DELETE")]

这种,以防止泄露过后造成的诸多麻烦

4.在发布到IIS上过后,有时打开网页会报一个这种错误:

Access to XMLHttpRequest at ‘http://111.111.1.123/api/Company/GetCompanyInfoByPage‘ from origin ‘http://11.111.1.123:9512‘ has been blocked by CORS policy:

Response to preflight request doesn‘t pass access control check: The ‘Access-Control-Allow-Origin‘ header contains multiple values ‘*, *‘, but only one is allowed.

表示定义了两个表头。既:在post请求的时候,会有两个Access-Control-Allow-Origin: *,在F12下面可以很明显的看到post请求的时候,有两个,就会报上面的那种错!!!

在经过仔细检查发现,某些机器上的IIS会在创建IIS的时候自动添加一个表头:Access-Control-Allow-Origin: *

5.解决办法:

 1)点击对应api下面的这个http响应表头项

技术分享图片

 2)删除里面在创建网站时自动生成的:Access-Control-Allow-Origin:* .至此问题解决

技术分享图片

 

关于webapi跨域问题的一些坑坑

原文:https://www.cnblogs.com/zhang102137/p/11429450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!