欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery中的全局函数getJSON()实例讲解

程序员文章站 2022-09-24 11:51:19
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”的元素里面。