jQuery四种异步加载

来源:互联网 发布:互助盘 资金匹配算法 编辑:程序博客网 时间:2024/06/07 06:44

       在页面开发的过程中,为了加快整体页面打开的速度,对于某局部的数据采用异步读取(Ajax技术)的方法获取,这一方法的应用极大地优化了用户的体验,优化了页面的执行。

1.jQuery中的load()方法加载HTML

在传统的JavaScript中,使用XMLHttpRequest对象异步加载数据;而在jQuery中,使用load()方法可以轻松实现获取异步数据的功能。

load(url,[data],[callback]);

 <script type="text/javascript">        $(function() {            $("#Button1").click(function() { //按钮点击事件                $("#divTip").load("6-1b.html"); //load()方法加载数据            })        })    </script>
<div class="clsShow">姓名:陶国荣<br />性别:男<br />邮箱:tao_guo1_rong@163.com</div>

2.jQuery中的全局函数getJSON()

虽然使用load()方法可以很快地加载数据到页面中,但有时需要对获取的数据进行处理,如果将用load()方法获取内容进行遍历,也可以进行数据处理,但必须先插入页面中才能进行,执行效率不高。

JSON这种轻量级的数据交互格式很方便计算机的读取,效率很高。在jQuery中专门有一个全局函数getJSON(),其调用的语法格式为:

$.getJSON(url,[data],[callback])

   $(function() {            $("#Button1").click(function() { //按钮单击事件                //打开文件,并通过回调函数处理获取的数据                $.getJSON("UserInfo.json", function(data) {                    $("#divTip").empty(); //先清空标记中的内容                    var strHTML = ""; //初始化保存内容变量                    $.each(data, function(InfoIndex, Info) { //遍历获取的数据                        strHTML += "姓名:" + Info["name"] + "<br>";                        strHTML += "性别:" + Info["sex"] + "<br>";                        strHTML += "邮箱:" + Info["email"] + "<hr>";                    })                    $("#divTip").html(strHTML); //显示处理后的数据                })            })        })

其JSON文件格式为:

[  {    "name": "陶国荣",    "sex": "",    "email": "tao_guo_rong@163.com"  },  {    "name": "李建洲",    "sex": "",    "email": "xiaoli@163.com"  }]

3.jQuery中的全局函数getScript()

在jQuery中,除通过全局函数getJSON格式的文件内容外,还可以通过另外一个全局函数getScript()获取JS文件内容。基本设置如下:

<script type="text/javascript" src="Jscript/xx.js"></script>

动态设置为:

$("<script type='text/javascript' src='Jscript/xx.js'/>

而通过全局函数getScript()加载JS文件可以提高页面的执行效率

 $(function() {            $("#Button1").click(function() { //按钮单击事件                //打开已获取返回数据的文件                $.getScript("UserInfo.js");            })        })

其JS文件格式如下:

var data = [  {      "name": "陶国荣",      "sex": "",      "email": "tao_guo_rong@163.com"  },  {      "name": "李建洲",      "sex": "",      "email": "xiaoli@163.com"  }];var strHTML = ""; //初始化保存内容变量$.each(data, function() { //遍历获取的数据    strHTML += "姓名:" + this["name"] + "<br>";    strHTML += "性别:" + this["sex"] + "<br>";    strHTML += "邮箱:" + this["email"] + "<hr>";})$("#divTip").html(strHTML); //显示处理后的数据

4.jQuery中异步加载XML文档

对XML格式的文档,jQuery中使用全局函数$.get()进行访问,其语法格式为:

$.get(url,[data],[callback],[type])

参数url表示等待加载的数据地址,可选项[data]表示发送到服务器的数据,可选项[callback]表示加载成功时执行的回调函数,可选项[type]参数表示返回数据格式,可以为:HTML\XML\JS\JSON\TEXT等。

其调用方式与JSON类似:

 $(function() {            $("#Button1").click(function() { //按钮单击事件                //打开文件,并通过回调函数处理获取的数据                $.get("UserInfo.xml", function(data) {                    $("#divTip").empty(); //先清空标记中的内容                    var strHTML = ""; //初始化保存内容变量                    $(data).find("User").each(function() { //遍历获取的数据                        var $strUser = $(this);                        strHTML += "姓名:" + $strUser.find("name").text() + "<br>";                        strHTML += "性别:" + $strUser.find("sex").text() + "<br>";                        strHTML += "邮箱:" + $strUser.find("email").text() + "<hr>";                    })                    $("#divTip").html(strHTML); //显示处理后的数据                })            })        })

XML格式:

<?xml version="1.0" encoding="utf-8" ?><Info>  <User id="1">    <name>陶国荣</name>    <sex>男</sex>    <email>tao_guo_rong@163.com</email>  </User>  <User id="2">    <name>李建洲</name>    <sex>女</sex>    <email>xiaoli@163.com</email>  </User></Info>

 

原创粉丝点击