function jsonp(url,data,callback,succ,fn){
var oS = document.createElement('script');
var head = document.getElementsByTagName('head')[0];
/*
保证每一次请求数据的接收函数名不重复
*/
var fnName = 'jquery_'+new Date().getTime()+Math.random();
//因为函数名不能有.所以把.替换成空
fnName = fn || fnName.replace('.','');
var arr = [];
for(var attr in data){
arr.push(attr+'='+data[attr]);
}
data = arr.join('&');
//把接收函数挂在全局,要做fn不能是死,如果有固定的就走固定的,如果没有固定的那么随机
window[fnName] = function(json){
// console.log(json)
head.removeChild(oS);
succ && succ(json);
}
oS.src = url + '?' + data + '&'+callback+'='+fnName;
head.appendChild(oS);
}
封装jsonp
最新推荐文章于 2022-08-17 22:28:57 发布