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数据的值。