码迷,mamicode.com
首页 > Web开发 > 详细

各种封装——封装jsonp

时间:2015-10-21 22:30:15      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:

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);
    };
    
}

各种封装——封装jsonp

标签:

原文地址:http://www.cnblogs.com/yuanyiying/p/4899062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!