一般跨域的都是因为浏览器的保护策略“同源策略“阻止引起的,但是在互联网分工越来越细分的今天,
我们开发过程难免会碰到跨域问题,根据总结可以从技术后端开发和发布处理两块解决。
第一种:技术后端开发解决
1.前端Jsonp方式解决,因为如果返回Json格式或XML格式会被同源策略阻止造成跨域,但是Jsonp返回后端经过处理返回一个人为制造的类似JS脚本。
这种方式有限制,只能Get请求,而且返回的也不是真正意义的字符串,须人为再处理一次。
2.本地程序做后端做跨域处理,通过WebRequest抓取做本地代理,这种方式可以用在集群处理时候跨域调用API接口,但是也有个缺陷,就是每个应用
程序都要自己弄个代理转发类库。
3.Restful 很多新技术,现在已经支持跨域处理。譬如 WebApi2.0已经支持跨越处理,可以参考资料,可以在Nuget 下载 CORS包,CORS全称Cross-Origin Resource Sharing,
中文全称跨域资源共享。
第二种:发布工具解决
1.利用Nginx反向代理跨域,在nginx.conf文件添加类似处理做到跨域
2.IIS 里面设置HTTP响应标头
打开IIS,找到“HTTP响应标头”点进去,
在右侧可以看到添加,然后添加如下标头即可
Access-Control-Allow-Headers:Content-Type, api_key, Authorization
Access-Control-Allow-Origin:*