第6章 jQuery与Ajax的应用

jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是load()、$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法。

1load()方法

(1)载入HTML文档

load()方法是jQuery中最简单和常用的Ajax方法,能载入远程HTML代码并插入DOM中。它的结构为:

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

参数说明:

url:请求HTML页面的URL地址;

data(可选):发送至服务器的key/value数据,Object类型;

callback(可选):请求完成时的回调函数,无论请求成功或失败。

(2)筛选载入的HTML文档

通过为URL参数指定选择符,可以很方便地从加载过来的HTML文档里筛选出所需要的内容。load()方法的URL参数的语法结构为: ”url selector” 。注意,URL和选择器之间有一个空格。

(3)传递方式

load()方法的传递方式根据参数data来自动指定。如果没有参数传递,则采用GET方式传递;反之,则会自动转换为POST方式。

(4)回调函数

对于必须在加载完成后才能继续的操作,load()方法提供了回调函数(callback),该函数有3个参数,分别代表请求返回的内容、请求状态和XMLHttpRequest对象。

2、$.get()方法和$.post()方法 

load()方法通常用来从Web服务器上获取静态的数据文件。在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或者是$.ajax()方法)。

$.get()方法使用GET方式来进行异步请求。它的结构为:

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

参数说明:

url:请求的HTML页的的URL地址

data:发送至服务器的 key/value 数据会作为QueryString附加到请求url中。

callback:载入成功时回调函数。

type:服务器端返回内容格式,包括xml, html, script, json, text, _default。

如果服务器端接收到传递的data数据并成功返回,那么就可以通过回调函数将返回的数据显示到页面上。

$.get()方法的回调函数只有两个参数,代码如下:

function (data, textStatus){

//data    返回的内容,可以是XML文档、JSON文件、HTML片段等等

//textStatus     请求状态:success、error、notmodified、timeout 4种

}

在不需要与其他应用程序共享数据的时候,使用HTML片段来提供返回数据一般来说是最简单的;如果数据需要重用,那么JSON文件是不错的选择,它在性能和文件大小方面具有优势;而当远程应用程序未知时i,XML文档是明智的选择,它是Web服务域的“世界语”。

$.post()方法和$.get()方法的结构和使用方式相同,不过它们之间仍有些区别。

3、$.getScript()方法和$.getJson()方法

jQuery提供了$. getScript()方法来直接加载.js文件。

$.getJSON()方法用于加载JSON文件。

4、$.ajax()方法

$.ajax()方法是jQuery最底层的Ajax实现。

它的结构为:

$.ajax(options)

该方法只有1个参数,但在这个对象里包含了$.ajax()方法所需要的请求设置以及回调函数等信息,参数key/value的形式存在,所有参数都是可选的。

5、序列化元素

serialize()方法作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求。

serializeArray()方法也作用于一个jQuery对象,不同的是,它是将DOM元素序列化后,返回JSON格式的数据,然后可以使用$.each()函数对数据进行迭代输出。

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

6、jQuery中的Ajax全局事件

  • ajaxComplete(callback)  Ajax请求完成时执行的函数;
  • ajaxError(callback)  Ajax请求发生错误时执行的函数,捕捉到的错误可以作为最后一个参数传递;
  • ajaxSend(callback)  Ajax请求发送前执行的函数;
  • ajaxStart(callback)  Ajax请求开始时执行的函数;
  • ajaxStop(callback)  Ajax请求结束时执行的函数;
  • ajaxSuccess(callback)  Ajax请求成功时执行的函数。

这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有Ajax请求发生,就会触发它们。

jQuery与Ajax的应用——《锋利的jQuery》(第2版)读书笔记3的更多相关文章

  1. jQuery中的动画——《锋利的JQuery》

    自CSS3以来,主流网站开始偏向于扁平风格和动画效果,这时就可以jQuery的动画就可以发挥其长处了,灵活的应用其动画API,让我们可以设计出很多绚丽的效果.下面,让我们来列举一些jQuery常用的动 ...

  2. jQuery中的事件——《锋利的JQuery》

    虽然利用原生的JavaScript事件能完成一些交互,但jQuery增加并扩展了基本的事件处理机制.jQuery不仅提供了更加优雅的事件处理语法,而且极大地增强了事件处理能力. 1.加载DOM 在Ja ...

  3. 锋利的jQuery--jQuery事件,动画(读书笔记二)

    1.注意$(document).ready()方法和window.onload方法之间的细微区别 $(document).ready()在DOM树构建完成就会执行,而window.onload是在DO ...

  4. jQuery中ajax应用

    一:Ajax介绍 1.ajax的定义:客服端js所发起的http请求的代号,无刷新的数据更新. 2.ajax原理: 运用XHTML+CSS来表达信息,运用javascript操作DOM(Documen ...

  5. Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax

    目录 1什么是json 2json语法 3json的使用 4利用jQuery实现ajax编程 1 什么是json JavaScript Object Notation(JavaScript 对象表示法 ...

  6. jQuery学习笔记之jQuery的Ajax(3)

    jQuery学习笔记之jQuery的Ajax(3) 6.jQuery的Ajax插件 源码地址: https://github.com/iyun/jQueryDemo.git ------------- ...

  7. Struts2处理(jQuery)Ajax请求

    1. Ajax     Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...

  8. 锋利jQuery 学习整理之 第六章 jQuery 与Ajax 的应用

    1.Ajax 的XMLHttpRequest 对象 XMLHttpRequest 是Ajax 的核心,它是Ajax 实现的关键---发送异步请求.接受响应及执行回调都是通过它来完成的.XMLHttpR ...

  9. 《锋利的JQuery》读书要点笔记5——jQuery与Ajax的应用

    第6章 jQuery与Ajax的应用 Ajax的全称:Asynchronous JavaScript and XML (异步Javascript和XML) 传统模式中,数据提交通过表单方式实现,数据的 ...

随机推荐

  1. Flex数据交互之Remoting

    一 前言 Flex数据交互常用的有三种方式:WebService.HttpService以及Remoting. WebService方式已在这篇文章中给出,这篇文章主要讲解以Remoting方式进行数 ...

  2. os.path 大全

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回一个路径的最后一个组成部分 os.path.commonprefix(list) #返回 ...

  3. JS正则大全

    验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证 ...

  4. Loadrunner---解决乱码问题

    在使用Loadrunner录制和回放时有时候会因为乱码问题报错,且让我们很难定位出脚本问题所在.此事我们做一下分析loadrunner为什么会出现乱码这种情况呢? 1.乱码产生的原因 1)loadru ...

  5. IntelliJ IDEA 自动化工具安装并添加自动化测试框架

    IntelliJ IDEA是一个用于开发人员开发和测试人员自动化测试的测试工具,类似于eclipse. 优点:插件多自身可以携带,自身携带cucumber自动化测试框架,类似于junit一样 缺点:r ...

  6. Visual C++2012中CMFCPropertySheet的用法

    看到了一个例子(NewControls),该例子中使用了按钮图片等特效(哈哈,个人觉得挺高端),但是仔细看它的工程,没有xxxDlg.cpp就觉得奇诡了,难道不是基于对话框完成的?最终查阅居然是这样的 ...

  7. 你还记得windows workflow foundation吗

    很多年前,windows workflow foundation还叫WWF,而直译过来的名称让很多人以为它就是用来开发工作流或者干脆就是审批流的. 博主当年还是个懵懂的少年,却也知道微软不会大力推一个 ...

  8. 【Python】pymongo使用

    官方文档:http://api.mongodb.com/python/current/index.html MongoReplicaSetClient:http://api.mongodb.com/p ...

  9. Android IOS WebRTC 音视频开发总结(七九)-- WebRTC选择H.264的四大理由

    本文主要介绍WebRTC选择H.264的理由(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacke ...

  10. HTML5 中的新属性autocomplete="off"失效的解决方法(兼容firefox,IE,360)

    因为业务需求,在写一个注册页面的时候,发现浏览器会自动填充此域名下已经保存的账号密码,给用户带来不便.加了HTML5 中的新属性autocomplete="off" ,但是并没有产 ...