原生js实现jquery的getJSON方法

用原生JavaScript实现jQuery的$.getJSON

$ = {
    getJSON:function(url,data,callback){
        var call = this.urlQueryString(url)["callback"];
        for(var key in data){
            url += "&"+key+"="+data[key];
        }
        //window[call] = callback;
        window[call] = function(data){
            window[call] = undefined;
            try{
                delete window[call];
            }catch(e){}
            callback(data);
        }
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = url;
        document.getElementsByTagName("body")[0].appendChild(script);
        script.onload = function(){
            document.getElementsByTagName("body")[0].removeChild(this);
        }
    },
    urlQueryString:function(url){//scoreRecode.php?callback11=callajax11&callback=callajax
        var url = url.split("?")[1];
        var result = {},reg = /([^&=]+)=([^&]*)/g,m;
        while(m = reg.exec(url)){
            result[m[1]] = m[2];
        }
        return result;//Object {callback11: "callajax11", callback: "callajax"} 
    }
};
$.getJSON("aa.php?callback11=callajax11&callback=callajax",{"aa":11,"bb":22},function(data){
    console.log(data);
});

 转载自:http://www.cnblogs.com/artwl/archive/2013/04/25/3043629.html

原文地址:https://www.cnblogs.com/lyweb/p/3044479.html