用原生JavaScript实现jQuery的$.getJSON的解决方法
今天在写一DEMO,其中用到了jQuery的$.getJSON方法,写完后发现整个DEMO中用到jQuery中的就这一个地方,但要引入一个jQuery实在不划算,于是就自己实现了一个简单版的,基本可以满足需求,现分享出来:
var$={
getJSON:function(url,params,callbackFuncName,callback){
varparamsUrl="",
jsonp=this.getQueryString(url)[callbackFuncName];
for(varkeyinparams){
paramsUrl+="&"+key+"="+encodeURIComponent(params[key]);
}
url+=paramsUrl;
window[jsonp]=function(data){
window[jsonp]=undefined;
try{
deletewindow[jsonp];
}catch(e){}
if(head){
head.removeChild(script);
}
callback(data);
};
varhead=document.getElementsByTagName("head")[0];
varscript=document.createElement("script");
script.charset="UTF-8";
script.src=url;
head.appendChild(script);
returntrue;
},
getQueryString:function(url){
varresult={},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]);
}
returnresult;
}
};
调用DEMO如下:
varurl="http://xxx.xxx.xxx?callback=jsonp123";
varparams={
a:1,
b:2
};
$.getJSON(url,params,"callback",function(data){
//todo
});
相关文章
- 【愚公系列】2022年11月 .NET CORE工具案例-.NET Core执行JavaScript
- 【说站】JavaScript定义函数的两种方法
- javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]
- JavaScript进阶内容——jQuery
- javascript分类刷leetcode动态规划篇
- SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显示
- 生成二维码的 jQuery 插件:jquery.qrcode.js
- javascript异步执行的一些例子详解编程语言
- javaScript之jQuery框架详解编程语言
- JQuery初体验(建议学习jquery)
- JavaScript验证浏览器是否支持javascript的方法小结
- Jquery作者JohnResig自己封装的javascript常用函数
- 用javascript实现jquery的document.ready功能的实现代码
- JQuery操作Javascript对象和数组的工具函数小结
- JavaScript正则表达式验证函数代码
- jquery下组织javascript代码(js函数化)
- 精通Javascript系列之数据类型字符串
- javascript开发随笔二动态加载js和文件
- JavaScript/jQuery、HTML、CSS构建WebIM远程及时聊天通信程序
- jquery和javascript的区别(常用方法比较)
- 原生javascript和jquery判断浏览器版本等信息
- javascript树形导航菜单实例代码
- 使用jQuery异步加载JavaScript脚本解决方案
- 基于jQuery的JavaScript模版引擎JsRender使用指南
- JavaScript用JQuery呼叫Server端方法示例代码