function jsonp(options) {
/*
options {
url, // string
data, // {}
callback, // string
onSuccess, // fn
}
*/
options = options || {};
options.data = options.data || {};
options.data.callback = options.callback;
var data = [];
for(var key in options.data) {
data.push(`${encodeURIComponent(key)}=${encodeURIComponent(options.data[key])}`);
}
var query = data.join('&');
var src = `${options.url}${options.url.indexOf('?') > -1 ? '&': '?'}${query}`;
var headEl = document.querySelector('head');
var scriptEl = document.createElementByTag('script');
scriptTag.src = src;
window[options.callback] = function(...args) {
headEl.removeChild(scriptEl);
delete window[options.callback];
if(typeof options.onSuccess === 'function') {
options.onSuccess(...args);
}
}
headEl.appendChild(scriptEl);
}
console