1. jsonp
原理:jsonp之所以能够实现跨域资源的访问,是因为<script>标签不受浏览器同源策略的限制,使用时将src属性指定一个跨域URL,服务器在收到请求后,将数据放到指定的callback里传回来
2.CORS
原理:CORS(cross-origin-resource-sharing)跨域资源共享,其思想是使用自定义的HTTP头部,让浏览器域服务器进行沟通,从而决定请求或响应是成功还是失败。服务器端一般在Access-Control-Allow-Origin中指定对应的域,当浏览器访问对应的资源。
3.使用WebSocket
原理:WebSocket是HTML5的协议,可以让浏览器与服务器之间建立一个全双工、双向通信。当浏览器使用websocket与服务器建立连接后,HTTP协议会变成websocket协议,websocket协议是不受同源策略限制的,所以可以实现跨域请求资源;
4.使用window.name来进行跨域;
window.postMessage方法来跨域;
代理。
JSONP 封装、使用
动态创建script标签将其src指向到要发请求的资源地址并附带参数为回调函数的名称的方式,在请求完成后服务端返回以函数名(数据);的方式进行回调函数达到请求的目的。
封装
使用