• 跨域:利用JSONP、WebSocket实现跨域访问


    跨域基础知识点:跨域知识点

    iframe实现跨域的四种方式:iframe实现跨域的四种方式

    注:本篇中使用到的虚拟主机也是上面iframe中配置的

    目录

    JSONP跨域

    JSONP介绍

    跨域实验:

    WebSocket跨域

    websocket介绍

    跨域实验


    JSONP跨域

    JSONP介绍

    如果不涉及跨域,在前端通常以JSON格式从服务端获取数据,但是跨域时这何总方案不可行,不过对JSON书进行简单处理后就可以跨域共享,这就是JSONP(JSON with Padding)方案

    在JSON字符串前后可以做一些填充(这也正是JSONP这个名字的由来),就可以将其变为一段javascript代码

    JSONP 是服务器与客户端跨源通信的常用方法。

    最大特点就是简单易用,没有兼容性问题,老式浏览器全部支持,服务端改造非常小。

    它的做法如下:

    方法1:通过函数传递参数JSON数据时,需要提前定义好回调函数(Callback),再通过""载入JSON代码。张回调函数就的得到了JSON数据

    方法2:另外一种方式就是通过赋值语句把数据赋值给一个变量,这样也可以把JSON数据引入到当前的Javascript执行环境

    缺点:

    1. 传输数据很少

    2. 只支持get传输 (类似于RIP协议的地位)

    第一步,网页添加一个

    注意,请求的脚本网址有一个callback参数(?callback=bar),用来告诉服务器,客户端的回调函数名称(bar)。

    第二步,服务器收到请求后,拼接一个字符串,将 JSON 数据放在函数名里面,作为字符串返回(bar({...}))。

    第三步,客户端会将服务器返回的字符串,作为代码解析,因为浏览器认为,这是