用原生JavaScript實(shí)現(xiàn)jQuery的$.getJSON的解決方法
今天在寫(xiě)一DEMO,其中用到了jQuery的$.getJSON方法,寫(xiě)完后發(fā)現(xiàn)整個(gè)DEMO中用到j(luò)Query中的就這一個(gè)地方,但要引入一個(gè)jQuery實(shí)在不劃算,于是就自己實(shí)現(xiàn)了一個(gè)簡(jiǎn)單版的,基本可以滿足需求,現(xiàn)分享出來(lái):
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;
}
};
調(diào)用DEMO如下:
var url = "http://xxx.xxx.xxx?callback=jsonp123";
var params = {
a:1,
b:2
};
$.getJSON(url, params, "callback", function(data){
//todo
});
- JQuery 獲取json數(shù)據(jù)$.getJSON方法的實(shí)例代碼
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法總結(jié)
- jquery $.getJSON()跨域請(qǐng)求
- Jquery getJSON方法詳細(xì)分析
- jQuery+ajax中g(shù)etJSON() 用法實(shí)例
- JQuery中g(shù)etJSON的使用方法
- jQuery getJSON 處理json數(shù)據(jù)的代碼
- JQuery中的$.getJSON 使用說(shuō)明
- ie下jquery.getJSON的緩存問(wèn)題的處理方法
- jQuery中$.ajax()和$.getJson()同步處理詳解
- jQuery中$.get、$.post、$.getJSON和$.ajax的用法詳解
- jQuery使用getJSON方法獲取json數(shù)據(jù)完整示例
相關(guān)文章
基于jquery實(shí)現(xiàn)的文字淡入淡出效果
這篇文章介紹了jquery實(shí)現(xiàn)的文字淡入淡出效果實(shí)例,有需要的朋友可以參考一下2013-11-11
jquery實(shí)現(xiàn)圖片輪播和滑動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)圖片輪播和滑動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
jQuery學(xué)習(xí)筆記之 Ajax操作篇(一) - 數(shù)據(jù)加載
Ajax 通俗來(lái)講即不需要刷新頁(yè)面即可從服務(wù)器或客戶端上加載數(shù)據(jù),當(dāng)然這些數(shù)據(jù)的格式是多種多樣的。2014-06-06
jquery簡(jiǎn)單實(shí)現(xiàn)圖片切換效果的方法
這篇文章主要介紹了jquery簡(jiǎn)單實(shí)現(xiàn)圖片切換效果的方法,涉及jQuery鏈?zhǔn)讲僮骷皥D片操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05
jquery實(shí)現(xiàn)垂直無(wú)限輪播的方法分析
這篇文章主要介紹了jquery實(shí)現(xiàn)垂直無(wú)限輪播的方法,結(jié)合實(shí)例形式分析了jQuery無(wú)限輪播相關(guān)界面布局、樣式與頁(yè)面元素動(dòng)態(tài)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
jquery和js實(shí)現(xiàn)對(duì)div的隱藏和顯示方法
jquery和js分別可以實(shí)現(xiàn)對(duì)div的隱藏和顯示,方法也不一樣,jquery的show、show;js的hidden、visible2014-09-09

