使用Script元素发送JSONP请求的方法

使用Script元素发送JSONP请求的方法

// 根据指定URL发送一个JSONP请求 
//然后把解析得到的相应数据传递给回调函数 
//在URL中添加一个名为jsonp的查询参数,用于指定该请求的回调函数的名称 
function getJSONP(url, callback){ 
 //为本次请求创建一个唯一的回调函数名称 
 var cbnum = "cb"+getJSONP.counter++; 
 var cbname = "getJSONP."+cbnum;   
 
 if(url.indexof("?") === -1){ 
  url += "?jsonp="+cbname; 
 }else { 
  url += "&jsonp="+cbname; 
 } 
 
 var script = document.createElement("script"); 
 
 getJSONP[cbnum] = function(response){ 
  try{ 
   callback(response); 
  }finally{ 
   delete getJSONP[cbnum]; 
   script.prentNode.removeChild(script); 
   }  
  }; 
 
  script.src = url; 
  document.body.appendChild(script); 
 
} 
 
getJSONP.counter = 0;

相关推荐