跨域的几种方式

目前常用的3种跨域方式

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

细讲jsonp跨域的实现方式

原理

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

工作原理

利用 并提供一个回调函数来接收数据(函数名可约定,或通过地址参数传递)。 第三方产生的响应为json数据的包装(故称之为jsonp,即json padding),形如: callback({"name":"hax","gender":"Male"}) 这样浏览器会调用callback函数,并传递解析后json对象作为参数。本站脚本可在callback函数里处理所传入的数据。

实现步骤

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




你可能感兴趣的:(跨域的几种方式)