JavaScript中实现跨域的坑,你踩过吗?

相信对于一些学习前端的小伙伴来说,JavaScript是他们需要面对的东西。但在学习JavaScript的道路,我们都知道有无数个坑等着你去踩。

而今天为了大家防止以后大家在实现跨域这个坑上中招,所以今天给大家总结下JavaScript中关于实现跨域方法的总结。话不多说,立即开搞

第一种:jsonp请求

  • 对于jsonp的原理骑士也是相对简单,他是利用<script>标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有<img>。

第二种方式:document.domain

  • 这种方式用在主域名相同子域名不同的跨域访问中

第三种方式:window.name

  • window的name属性有个特征:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。

第四种方式:window.postMessage

  • window.postMessages是html5中实现跨域访问的一种新方式,可以使用它来向其它的window对象发送消息,无论这个window对象是属于同源或不同源。

第五种方式:CORS

  • CORS背后的基本思想,就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是应该失败。

第六种方式:Web Sockets

  • web sockets原理:在JS创建了web socket之后,会有一个HTTP请求发送到浏览器以发起连接。取得服务器响应后,建立的连接会使用HTTP升级从HTTP协议交换为web sockt协议。

总结:

作为一个新生程序猿,Damon希望能够与大家一同进步。文章或者描述有所不足的地方,希望大家多多提出来,一同进步。

Damon会继续发掘一些有用的咨询,知识以及新工具,与大家一同分享,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容