跨域:
指的是浏览器不能执行其他网站的脚本,是由于浏览器的“同源策略"引起的,是为了网站的安全。
同源:
就是指域名、协议、端口都相同的页面!也就是当前网站。
由于基本上都用过所以这里仅记录方案,以作日后备忘!!!
第一种方案:
原生的iframe标签的使用,这样的话就可以从我域获取iframe的内容;
第二种方案:
使用script的特性,也就是jsonp,script的src可以获取动态代码,主要有一个回调函数(所谓jsonp:就是一个json数据跟一个回调函数的组合);
第三种方案:
设置http状态头,Access-Control-Allow-Origin:*(有些ie的版本不支持),没有用过这种方式;
第四种方案:
服务器代理的方式。这种是最喜欢用的,就是nginx反向代理,其实原理就是使用了反向代理的机制,获取别的域名,然后把域名代理到本站的域名下,这样就是同域了。
使用到的是rewrite重写、代理location的配置。非常方便,只有一个问题,就是现在很多网站的api基本上都是不同域下的,所以如果要使用所有的api的话,最好是
代理相应的域名。(这种也没有用过,但是以后可以尝试,觉得非常好)