(1)通过JSONP跨域:方法的基本思想就是,网页通过添加<script>元素,向服务器请求JSON数据,这种做法不受同源政策限制,服务器收到请求后,将数据放在一个指定名字的回调函数中传回来。
jsonp 最大的特点就是简单适用,老式浏览器全部支持,服务器改造非常小。但是jsonp 只能实现get一种请求。
(2)Websocket协议跨域:是h5的一种新协议,实现浏览器和服务器的全双工通信,同时允许跨域通信。
上面代码使用的是Socket.io,它很好的封装了websocket接口,提供了更简单灵活的接口,也对不支持websocket的浏览器提供了向下支持
(3)跨域资源共享CROS
cors是一个w3c标准,全称是”跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨源服务器发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
普通跨域请求:只服务端设置Access-Control-Allow-Origin即可,前端无须设置,若要带cookie请求:前后端都需要设置。