• 技术文章 >web前端 >前端问答

    什么是jquery异步加载

    青灯夜游青灯夜游2022-05-24 16:25:35原创171

    在jquery中,异步加载又称为非阻塞加载,一般指在加载的同时执行代码;也就是当浏览器在加载JQ或JS的同时,还会进行后续页面处理,这样可以优化脚本文件的加载,提高页面的加载速度。jq中可用load()、getJSON()等方法来实现异步。

    本教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。

    什么是jquery异步加载

    异步加载又称为非阻塞加载,当浏览器在加载JQ或JS的同时,还会进行后续页面处理。

    异步加载可以优化脚本文件的加载,提高页面的加载速度。

    什么时候要使用异步加载?

    jQuery四种异步加载

    在页面开发的过程中,为了加快整体页面打开的速度,对于某局部的数据采用异步读取(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>

    【推荐学习:jQuery视频教程web前端视频

    以上就是什么是jquery异步加载的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jquery
    上一篇:jquery怎么添加和移除元素 下一篇:jquery怎么求输入框的值
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• jquery怎么动态改变rowspan值• jquery有哪些第三方插件• jquery能检测是否有同胞元素吗• jquery能不能自定义属性• jquery怎么绑定点击事件实现弹窗
    1/1

    PHP中文网