跨域的几种方式

目前常用的3种跨域方式

1、后台加入白名单
2、jsonp
3、 服务器中转/代理、比如说一个PHP文件,请求资源因为PHP去请求资源是不存在跨域问题,可以利用PHP把资源拿过来,然后咱们再去请求PHP文件就可以了(前提就是PHP文件和你的文件在同域下)

细讲jsonp跨域的实现方式

原理

JSONP是一种非正式传输协议,该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

工作原理

利用<script>标签没有跨域限制的“漏洞”来达到与第三方通讯的目的。当需要通讯时,本站脚本创建一个<script>元素,地址指向第三方的API网址,形如: <script src="http://www.example.net/api?param1=1&param2=2"></script> 并提供一个回调函数来接收数据(函数名可约定,或通过地址参数传递)。 第三方产生的响应为json数据的包装(故称之为jsonp,即json padding),形如: callback({"name":"hax","gender":"Male"}) 这样浏览器会调用callback函数,并传递解析后json对象作为参数。本站脚本可在callback函数里处理所传入的数据。

实现步骤

首先定义一个方法用来请求数据
添加了一个script标签,标签的src指向了另一个要访问下的js脚本
以下是代码实现

<script type="text/javascript">
    function jsonhandle(data){
      console.log(data)
    }
</script>

<script src="https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=b&json=1&p=3&sid=1445_21090_17001&req=2&csor=1&cb=ddd" type="text/javascript" charset="utf-8"></script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 跨域以及跨域的几种方式 讲解跨域之前我们先来看看什么是同源策略 什么是同源策略 通常来说,浏览器出于安全方面的考虑...
    尾巴尾巴尾巴阅读 1,695评论 0 1
  • 同源策略 浏览器对不同源的脚本或者文本的访问方式进行的限制,就是一种浏览器的安全机制。 同源:相同的协议、域名、端...
    Mr无愧于心阅读 1,048评论 0 1
  • 1: 什么是同源策略 同源策略是一种安全策略,所有的浏览器都实行这个政策。例如:A网页设置的Cookie,B网页是...
    向前冲冲的蜗牛阅读 313评论 0 0
  • ubuntu下安裝 1. 下载Redis的安装包(x.x.x表示版本) 2.在目录下,解压按照包,生成新的目录re...
    不想当码农的程序员阅读 627评论 0 3
  • 朋友圈里满是腊八节的祝福,每条读来都能使你感到浓浓的年味。但还要属那一幅幅精美的腊八粥图片更是令人神往。那热...
    搬运阅读 412评论 0 0

友情链接更多精彩内容