标签:callback var time query 随机 tag dom data back
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); }
标签:callback var time query 随机 tag dom data back
原文地址:http://www.cnblogs.com/llxin/p/6209595.html