再次理解JSONP

  window.callback = function(result) {
      console.log(result);
  };

  var JSONP = document.createElement('script');
  JSONP.type = 'text/javascript';
  JSONP.src = "https://opendata.baidu.com/api.php?query=%E5%85%A8%E5%9B%BD&resource_id=39258&tn=wisetpl&format=json&cb=" + callback;
  document.getElementsByTagName("head")[0].appendChild(JSONP);

理解如下:

1、jsonp的原来就是动态向html中插入script标签

2、此script标签的src是请求的接口,因为src是get的请求方式,所以jsonp只适合用于get请求

3、src链接后面的cb回调函数,是需要和后台协商一致的,后台会把数据当做回调函数的参数传进来,所以jsonp是需要后台配合的

4、由于script标签使用src引入资源,在当前页面中是会直接执行的,所以等结果请求返回之后,cb回调函数就是立即执行,拿到后台的数据

至此完毕

原文地址:https://www.cnblogs.com/gopark/p/12285496.html