跨域产生的原因是因为有同源策略

什么是同源?

同协议,通端口,同域名

为什么要有同源策略?

同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。

什么时候会出现跨域?

向非同源地址发送Ajax请求
访问非同源的cookie和 localstorege
访问非同源的DOM

怎么解决跨越?

1.JSONP 是服务器与客户端跨源通信的常用方法。最大特点就是简单适用,老式浏览器全部支持,服务端改造非常小。
它的基本思想是,网页通过添加一个<script>元素,向服务器请求 JSON 数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。
2.WebSocket
WebSocket 是一种通信协议,使用ws://(非加密)和wss://(加密)作为协议前缀。该协议不实行同源政策,只要服务器支持,就可以通过它进行跨源通信。
3.CORS 是跨源资源分享(Cross-Origin Resource Sharing)的缩写。它是 W3C 标准,属于跨源 AJAX 请求的根本解决方法。相比 JSONP 只能发GET请求,CORS 允许任何类型的请求。