手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >用原生JavaScript实现jQuery的$.getJSON的解决方法
用原生JavaScript实现jQuery的$.getJSON的解决方法
摘要:今天在写一DEMO,其中用到了jQuery的$.getJSON方法,写完后发现整个DEMO中用到jQuery中的就这一个地方,但要引入一个j...

今天在写一DEMO,其中用到了jQuery的$.getJSON方法,写完后发现整个DEMO中用到jQuery中的就这一个地方,但要引入一个jQuery实在不划算,于是就自己实现了一个简单版的,基本可以满足需求,现分享出来:

复制代码 代码如下:

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如下:

复制代码 代码如下:

var url = "http://xxx.xxx.xxx?callback=jsonp123";

var params = {

a:1,

b:2

};

$.getJSON(url, params, "callback", function(data){

//todo

});

【用原生JavaScript实现jQuery的$.getJSON的解决方法】相关文章:

简介JavaScript中的getUTCFullYear()方法的使用

javascript动态创建链接的方法

原生JS和JQuery动态添加、删除表格行的方法

JavaScript实现自动变换表格边框颜色

JavaScript每天定时更换皮肤样式的方法

JavaScript中使用自然对数ln的方法

JavaScript基于setTimeout实现计数的方法

javascript模拟评分控件实现方法

JavaScript的9种继承实现方式归纳

用JavaScript实现页面重定向功能的教程

精品推荐
分类导航