jQuery中的全局函数getJSON()实例讲解
程序员文章站
2022-04-25 19:55:58
load()方法可以很快加载数据到页面(但有时需要对获取数据进行处理);如果将用load()方法获取内容进行遍历,也可进行数据处理,但是这样必须将获取的内容插入到页面中。(效率不高)
为了采取另外一...
load()方法可以很快加载数据到页面(但有时需要对获取数据进行处理);如果将用load()方法获取内容进行遍历,也可进行数据处理,但是这样必须将获取的内容插入到页面中。(效率不高)
为了采取另外一种轻量级的数据交互格式(即json文件格式,十分方便计算机读取,在jquery中专门有一个全局函数getjson(),用于调用json格式的数据)
调用语法格式:$.getjson( url , [datal] , [callback] );参数url表示请求地址,可选[data]参数表示发送到服务器数据,其格式为key/value。另外一个可选项[callback]参数表示加载成功时执行的回调函数。
示例 使用全局函数getjson()实现异步获取数据
(1)功能描述
创建一个json格式的文件userinfo.json ,用于保存信息,另外,新建一个页面,在点击“获取数据”按钮时,将通过全局函数getjson()获取文件userinfo.json里面的数据,然后展现在页面里面。
(2)核心代码
<script type="text/javascript" src="jscript/jquery-1.8.2.3min.js"></script> <script type="text/javascript"> $(function () { $("#button1").click(function(){ //按钮单击事件 //打开文件,并通过回调函数处理获取的数据 $.getjson("userinfo.json",function(data){ $("#ptip").empty(); //先清空标记中的内容 var strhtml = ""; //初始化保存内容变量 //遍历获取的数据 $.each(data , function(infoindex , info){ strhml += "姓名: " + info["name"] + "<br>"; strhml += "性别: " + info["sex"] + "<br>"; strhml += "邮箱: " + info["email"] + "<br>"; }) $("#ptip").html(strhtml); //显示处理后数据 }) }) }) </script> <p class="pframe"> ......省略 </p>
创建文本文件,另存为json文件
[ { "name":"陶国荣", "sex":"男", "email":"tao_guo_rong@163.com" }, { "name":"李建洲", "sex":"女", "email":"xiaoli@163.com" }
解析:
在点击按钮时,使用全局函数$。each()遍历所获取的数据data,在遍历数据前,先清空id号为“ptip”元素中的内容,以确保重新构建html内容,然后通过当前项['元素名称']的方式获取每一项的数据,最后将叠加的数据显示在id号为“ptip”的元素里面。
推荐阅读