Access-Control-Allow-Origin设置跨域
我来自己写一下答案,以给后来的朋友一点思路和建议:
1,首先把Access-Control-Allow-Origin设置成*是不妥的,自己的接口服务器不能允许所有人都可以访问。
2,具体哪里可以设置Access-Control-Allow-Origin呢,
a,web.config中可以设置;
b,需要在IIS服务器站点的功能视图中设置HTTP响应标头;
(a,b可以参考:http://www.th7.cn/Program/net...)
c,通过nginx代理服务器进行设置;
d,修改接口api,在每个api上添加响应头;https://docs.microsoft.com/en...
e,拦截器方式(是d的一种封装)http://ask.csdn.net/questions...或http://stackoverflow.com/ques...
ab只能设置一个域名或*,
c需要更多知识背景,配置更多环境,相对windows Server来说不太适合
d,是微软给出的最终解决方案,但是不是最佳方案,
e是对d的一种封装,写一个拦截器,应用到所有控制器上,在拦截器里控制来访域名,动态设置Access-Control-Allow-Origin的值.
根据自己情况选择合适的解决方案,这里我选择了e方案
ie9以下的支持方案:
A CORS proxy for IE9 and below (jQuery + ASP.NET)