源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用原生JavaScript实现jQuery的$.getJSON的解决方法

  • 时间:2020-03-21 09:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用原生JavaScript实现jQuery的$.getJSON的解决方法
  今天在写一DEMO,其中用到了jQuery的$.getJSON方法,写完后发现整个DEMO中用到jQuery中的就这一个地方,但要引入一个jQuery实在不划算,于是就自己实现了一个简单版的,基本可以满足需求,现分享出来:
[u]复制代码[/u] 代码如下:
var $ = {     getJSON: function(url, params, callbackFuncName, callback){         var paramsUrl ="",             jsonp = this.getQueryString(url)[callbackFuncName];         for(var key in params){             paramsUrl+="&"+key+"="+encodeURIComponent(params[key]);         }         url+=paramsUrl;         window[jsonp] = function(data) {             window[jsonp] = undefined;             try {                 delete window[jsonp];             } catch(e) {}             if (head) {                 head.removeChild(script);             }             callback(data);         };         var head = document.getElementsByTagName('head')[0];         var script = document.createElement('script');         script.charset = "UTF-8";         script.src = url;         head.appendChild(script);         return true;     },     getQueryString: function(url) {         var result = {}, queryString = (url && url.indexOf("?")!=-1 && url.split("?")[1]) || location.search.substring(1),             re = /([^&=]+)=([^&]*)/g, m;         while (m = re.exec(queryString)) {             result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);         }         return result;     } };
  调用DEMO如下:
[u]复制代码[/u] 代码如下:
var url = "http://xxx.xxx.xxx?callback=jsonp123"; var params = {     a:1,     b:2 }; $.getJSON(url, params, "callback", function(data){     //todo });
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部