【JavaScript】封装一个jsonp函数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/AC_greener/article/details/89016637

function jsonp({url, params, callback}) {
  return new Promise ((resolve, reject) => {
    let script = document.createElement ('script');
    window[callback] = function (data) { //声明这个全局函数,script标签拿到数据时会自动执行这个函数
      resolve (data);
      document.body.remove (script);
    };
    params = {...params, callback};
    let arr = [];
    for (let key in params) {
      arr.push (`${key}=${params[key]}`);
    }

    script.src = `${url}?${arr.join ('&')}`;
    document.body.appendChild (script);
  });
}

jsonp ({
  url: 'http://www.baidu.com',
  params: {name: 'zhansgan'},
  callback: 'getUserMessage',
}).then (data => {
  console.log (data);
});


展开阅读全文

没有更多推荐了,返回首页