为什么出现跨域:
因为浏览器有同源策略。
同源策略:同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。
阻止从一个域名去访问加载另一个域名上面的数据或者信息。
为什么浏览器有同源策略呢?
同源策略是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响 。
那么什么情况下会出现跨域呢?
域名不同出现跨域。
协议不同( http / https )出现跨域。
端口不同出现跨域。
同一个web,域名和地址出现跨域。
主域名和子域名出现跨域。
解决跨域的方式。
1.后端代理:先后端获取数据,然后前端获取后端php的地址。
2.cors解决跨域,有兼容问题。
header( ‘ Access-Control-Allow-Origin:* ’ );允许任意域名进行跨域( * )
header( ‘ AccessControlAllowMethod:POST,GET ’ )允许跨域请求的方式
3.jsonp:
jsonp特点:
script标签不存在跨域。
jsonp请求方式必须是get,通过地址转递数据。
接口的结构一定符合jsonp结构。