最好理解的JSONP

120 阅读1分钟

json是一种数据结构,通过script标签访问数据,就是jsonp:

<script src='data.js'></script>

上面 data.js返回的字符串如下:callback({...}),恰好你在页面全局定义一个函数 callback,就像执行本地定义的方法一样,水到渠成了(js引擎会认为你在逐个调用函数)。

还有一种更加暴力的方式:直接把data.js响应数据设计成这样: const data = {...},连函数都不用定义了,在微信公众号鉴权的场景,需要很多凭据:

 const data = { 
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: [] // 必填,需要使用的JS接口列表
 };

以上两种数据结构都是jsonp,通过get方式获取,返回一个执行函数或者其它正确的js脚本也行