1 function jsonp(url, data, callback,callBackName='call') { 2 let s = document.createElement('script'); 3 //parameter 4 let arr = []; 5 for(let name in data) { 6 arr.push(encodeURIComponent(name) + '=' + encodeURIComponent(data[name])); 7 }; 8 arr.push('v=' + Math.random()); 9 url += '?callback='+callBackName+'&'+ arr.join('&'); 10 s.setAttribute('src', url); 11 document.head.appendChild(s); 12 window[callBackName] = callback; 13}
1 //调用: 2jsonp( 3 'http://api.fanyi.baidu.com/api/trans/vip/translate', 4 { 5 data: 'jsonp data...' 6 }, 7 (res) => { 8 console.log('callBack', res); 9 } 10);