热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《精通jQuery》第六章:深入解析与实战应用

《精通jQuery》第六章:深入解析与实战应用本章详细探讨了Ajax技术的核心机制及其实际应用。Ajax通过XMLHttpRequest对象实现客户端与服务器之间的异步数据交换,从而在不重新加载整个页面的情况下更新部分内容。这种技术不仅提升了用户体验,还提高了应用的响应速度和效率。此外,本章还介绍了如何利用jQuery简化Ajax操作,并提供了多个实战案例,帮助读者更好地理解和掌握这一重要技术。

1、Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的数据,即按需发送。

2、Ajax工作原理:相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。在客户端创建Ajax引擎,把传统方式下的服务器端负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和贷款的负担。

3、通过传统的Javascript的Ajax方式从服务器端取回一个“Hello Ajax”的字符串并显示在页面上。

<script type="text/Javascript">
       // window.Onload= function(){

       function Ajax(){
           var xmlHttpReq = null;
           //给xmlHttpReq对象赋值
           if(window.ActiveXObject){   //IE5 IE6是以ActiveXObject来引入XMLHttpRequest对象的
               xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
           }else if(window.XMLHttpRequest){    //除IE5 IE6的浏览器,XMLHttpRequest是window的子对象
               xmlHttpReq = new XMLHttpRequest();  //实例化一个XMLHttpRequest对象
           }
           xmlHttpReq.open("GET","test.html",true);    //用open方法初始化XMLHttpRequest对象
           //回调事件处理器当它的readyState值改变时调用。当readyState值改变时会激发一个readyStateChange事件,可以使用onreadystatechange属性来注册该回调事件处理器
           xmlHttpReq.onreadystatechange = RequestCallBack;    //设置回调函数
           function RequestCallBack(){     //一旦readyState的值改变,将会调用该函数
               if(xmlHttpReq.readyState == 4){
                   if(xmlHttpReq.status == 200){
                       document.getElementById("tesText").innerHTML = xmlHttpReq.responseText;
                   }
               }
           }
           xmlHttpReq.send(null);
       }
     //   };
    script>
head>
<body>
    <input type="button" value="ajax提交" onclick="Ajax()" />
    <div id="tesText">div>
body>

4、jQuery对Ajax进行封装,重点介绍第二层。

                                                                              技术分享

5、load() 方法:

load( url [, data] [, callback] )
参数名称 类型 说明
url String 请求HTML页面的url地址
data Object 发送至服务器的key/value数据
callback Function 请求完成时的回调函数,无论请求成功或失败

回调函数 callback有3个参数,

$("#restText").load("test.html" , function(responseText , textStatus , XMLHttpRequest)){
    responseTetx //请求返回的内容
    textStatus  //请求状态:success error notmodified timeout4种
    XMLHttpRequest //XMLHttpRequest对象
}

 6、$.get()方法

$.get( url [, data] [, callback] [, type] )
参数名称 类型 说明
url String 请求的HTML页面的url地址
data(可选) Object 发送至服务器的key/value数据会作为QueryString附加到请求url中
callback(可选) Function 载入成功时的回调函数(只有当Response的返回状态是success才调用该方法),自动将请求结果和状态传递给该方法
type(可选) String 服务器端返回该内容的格式,包括xml、html、script、json、text和_default

7、$.getScript() 方法

$.getScript(url , callback)
参数名称 类型 说明
url String 请求的script的url地址
callback(可选) Function 载入成功后的回调函数

8、$.getScript() 方法

$.getJSON(url,callback)

9、$.each()是一个全局函数,可以遍历对象和数组。

$.each(一个数组或者对象 , 一个回调函数)

10、serialize() 方法,能够将DOM元素序列化为字符串,用于Ajax请求。

11、serializeArray(),将DOM元素序列化后,返回JSON格式的数据。

12、$.param() 方法,用来对一个数组或对象按照key/value进行序列化。

《锋利的jQuery》第六章


推荐阅读
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文详细介绍了在使用 SmartUpload 组件进行文件上传时,如何正确配置和查找文件保存路径。通过具体的代码示例和步骤说明,帮助开发者快速解决上传路径配置的问题。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • 黑马头条项目:Vue 文章详情模块与交互功能实现
    本文详细介绍了如何在黑马头条项目中配置文章详情模块的路由、获取和展示文章详情数据,以及实现关注、点赞、不喜欢和评论功能。通过这些步骤,您可以全面了解如何开发一个完整的前端文章详情页面。 ... [详细]
author-avatar
和谐家于社会
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有