原生js实现jsonp
有时候用js封装个小工具需要一些已经被封装好的函数,比如jq的jsonp
但是原生小工具如果仅仅为了这个就导入一个上百kb的jQuery不划算
然后我去网上找,一大堆废文,还是自己发一篇记录一下吧
下面是 jsonp 在 js 中的实现方法
/** * 模拟实现jsonp * @param {Object} url * @param {Object} callback */ function jsonp(url, callback) { var callbackName = 'jsonp_callback_' + (new Date().getTime()); window[callbackName] = function(data) { delete window[callbackName]; document.body.removeChild(script); callback(data); }; var script = document.createElement('script'); script.src = url + (url.indexOf('?') >= 0 ? '&' : '?') + 'callback=' + callbackName; document.body.appendChild(script); }