jsonp主要用于跨域进行数据的交互
// JavaScript Document
function json2url(json)
{
json.t=Math.random();
var arr=[];
for(var name in json)
{
arr.push(name+‘=‘+json[name]);
}
return arr.join(‘&‘);
}
function jsonp(json)
{
json=json||{};
if(!(‘url‘) in json) return;
var url=json.url;
var cbName=json.cbName||‘cb‘;
var data=json.data||{};
var fnName=‘jsonp‘+Math.random();
fnName=fnName.replace(‘.‘,‘‘);
data[cbName]=fnName;
var oS=document.createElement(‘script‘);
oS.src=url+‘?‘+json2url(data);
var oHead=document.getElementsByTagName(‘head‘)[0];
oHead.appendChild(oS);
window[fnName]=function(data){
json.success&&json.success(data);
oHead.removeChild(oS);
};
}
时间: 2024-10-25 22:26:26