jsonp 的实质

发送 get请求,可以通过 浏览器输入 url地址,也可以在 javascript 脚本中手动发送 ajax。

或者也可以在 Html网页中定义一个 带 src的 Html 标签,比如 <img src="" /> ,<script src=""></script>等。

那么 jsonp 就是通过在网页中嵌入一个 <script src=""></script>标签,来发送 get请求。

 

流程:

你 在浏览器中输入某网站地址 --> 加载 html 页面 --> 执行你定义的脚本(该脚本定义了一个函数 const doSomething() = (user) => { print(user.name} }, 函数定义好了,但是需要调用该函数,并往里面传入 user数据的值。那么此脚本又生成一个 <script src="http://www.example.net/api?param1=1&callback=doSomething"></script> 标签) --> 浏览器读取你刚才生成的 script 标签,获取该 script 标签的内容(发送 get请求访问src 指向的地址,该地址指向一个远程脚本) --> 远程服务器返回该脚本(形如 doSomething({name: 'lisi', phone: 13414232348})  )--> 浏览器执行该 script 脚本(doSomething({name: 'lisi', phone: 13414232348}) )。这下,原先定义的函数执行了,被往里面传入了 user数据的值。

posted on 2017-12-02 23:31  Lemo_wd  阅读(113)  评论(0编辑  收藏  举报

导航