第6章,jQuery与Ajax的应用

Ajax的优势和不足

Ajax的优势

1、不需要插件支持
2、优秀的用户体验
3、提高Web程序的性能
4、减轻服务器和带宽的负担

Ajax的不足

1、浏览器对XMLHttpRequest对象的支持度不足
2、破坏浏览器前进、后退按钮的正常功能
3、对搜索引擎的支持的不足
4、开发和调试工具的缺乏

Ajax的XMLHttpRequest对象

Ajax的核心是XMLHttpRequest对象,它是Ajax实现的关键----发送异步请求、接收响应及执行回调都是通过它来完成的。
IE5、IE6是以ActiveXObject的方式引入XMLHttpRequest对象的,而其他浏览器的XMLHttpRequest对象是window的子对象

jQuery中的Ajax

1、load()方法

语法结构:load(url [,data] [,callback])
load()方法参数解释
参数 类型 说明
url String 请求HTML页面的url地址
data(可选) Object 发送至服务器的key/value数据
callback(可选) Function 请求完成时的回调函数,无论请求成功或失败
筛选载入的HTML文档
$('#resText').load("test.html .para");     // 载入test.html页面中class为“para”的内容
传递方式
load()方法会根据参数data来自动指定,有参数传递为POST方式,无参数则为GET方式
回调函数
有3个参数:1、请求返回的内容;2、请求的状态;3、XMLHttpRequest对象
注:通常用于从Web服务器获取静态文件

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

(1)$.get()使用GET方式来进行异步请求
语法结构:$.get(url [,data] [,callback] [,type]);
$.get()方法参数解释
参数 类型 说明
url String 请求的HTML页面的url地址
data(可选) Object 发送至服务器的key/value数据会附加在请求URL中
callback(可选) Function 载入成功时回调函数,自动将请求结果和状态传递给该方法
type(可选) String 服务器返回内容的格式,xml,html,script,json,text,_default
回调函数
只有两个参数:1、data,返回的内容,xml文档,json文件等;2、请求状态:success、error、notmodified、timeout
注:只有当数据成功返回(success)才被调用
(2)$.post()使用POST方式进行异步请求
GET与POST的区别
<1>GET请求会将参数跟在URL后进行传递,POST则是作为HTTP实体内容发送个Web服务器。
<2>GET对传输数据有大小限制(通常不大于2kb),而POST则要比GET多的多(理论上不限制)
<3>GET请求会被浏览器缓存下来,在某种情况下会有严重的安全性问题,而POST则可避免
<4>GET与POST传递的数据在服务器端获取方式也不相同

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

(1)$.getScript()
使用$.getScript()方法加载一个js文件就跟加载一个HTML页面一样简单,而且不需要对js文件进行处理,js文件会自动执行
回调函数
会在js加载成功后执行
(2)$.getJson()
$.getJson()用于加载json文件
$.each()方法,jQuery中用于遍历对象和数组,接受两个参数:1、数组或对象;2、回调函数(接受两个参数:1、对象成员或数组索引;2、对应变量或内容)

4、$.ajax()方法

语法结构:$.ajax(options)
options对象中,参数以key/value形式存在,所有参数都是可选
$.ajax()方法有大量的参数,需要另查资料,之后再补充

序列化元素

1、serialize()方法
作用于一个jQuery对象,能够将DOM元素内容序列化为字符串,用于Ajax请求
注:参数传递时要注意将参数进行编码,即使用URI编码,若不希望编码带来麻烦,可以使用serialize()方法,它会自动编码
2、serializeArray()方法
将DOM序列化后,返回json格式数据
3、$.param()方法
serialize()方法核心,用以对一个对象按照key/value进行序列化

jQuery中的Ajax全局事件

当Ajax请求开始时,触发ajaxStart()方法的回调函数;当Ajax请求结束时,触发ajaxStop()方法的回调函数
其他的全局方法
方法名称 说明
ajaxComplete(callback) Ajax请求完成时执行函数
ajaxError(callback) Ajax请求发生错误时执行函数,捕捉到的错误可以作为最后一个参数传递
ajaxSend(callback) Ajax请求发送前执行的函数
ajaxSuccess(callback) Ajax请求成功时执行函数

第7章,jQuery插件的使用和写法

jQuery表单验证插件----Validation

下载地址:

jQuery表单插件----Form

核心方法:ajaxForm()和ajaxSubmit()
下载地址:
ajaxForm()和ajaxSubmit()都可以接受0或1个参数,当为单个参数时,既可以是回调函数,也可以是options对象,通过传递options对象,使它们对表单拥有更多的控制权

模态窗口插件----SimpleModal

下载地址:
SimpleModal提供了两种方法调用模态窗口:
1、作为链式jQuery函数:

$("#elementid").modal();
2、作为一个单独的函数:

$.modal("<div><h1>SimpleModal</h1></div>");
两种方法都可接收一个可选参数:options
$("#elementid").modal({options});
$.modal("<div><h1>SimpleModal</h1></div>",{options});
API:

管理Cookie的插件----Cookie

下载地址:

jQuery UI插件

下载地址:

编写jQuery插件

1、插件种类
(1)封装对象方法的插件
(2)封装全局函数的插件
(3)选择器插件
2、插件基本要点
(1)jQuery插件推荐命名jquery.[插件名].js
(2)所有对象方法都应当附加到jQuery.fn对象上,所有全局函数都应当附加到jQuery对象本身上
(3)在插件内部,this指向当前通过选择器获取的jQuery对象
(4)可以通过this.each来遍历所有元素
(5)所有方法或函数插件都应当以分号结尾
(6)插件应返回一个jQuery对象,以保证插件可链式操作
(7)避免在插件内部使用$作为jQuery对象的别名,应使用完整的jQuery来表示,避免冲突,当然,也可以使用闭包来回避这种问题

jQuery插件机制

jQuery提供了两个用于扩展jQuery功能的方法,即jQuery.fn.extend()和jQuery.extend()
jQuery.fn.extend()用于扩展第一类插件,jQuery.extend()用于扩展后两种插件

锋利的jQuery第2版学习笔记6、7章的更多相关文章

  1. 锋利的jQuery第2版学习笔记8~11章

    第8章,用jQuery打造个性网站 网站结构 文件结构 images文件夹用于存放将要用到的图片 styles文件夹用于存放CSS样式表,个人更倾向于使用CSS文件夹 scripts文件夹用于存放jQ ...

  2. 锋利的jQuery第2版学习笔记1~3章

    第1章,认识jQuery 注意:使用的jQuery版本为1.7.1 目前流行的JavaScript库 Prototype(http://www.prototypejs.org),成型早,面向对象的思想 ...

  3. 锋利的jQuery第2版学习笔记4、5章

    第4章,jQuery中的事件和动画 注意:使用的jQuery版本为1.7.1 jQuery中的事件 JavaScript中通常使用window.onload方法,jQuery中使用$(document ...

  4. 神经网络与机器学习第3版学习笔记-第1章 Rosenblatt感知器

    神经网络与机器学习第3版学习笔记 -初学者的笔记,记录花时间思考的各种疑惑 本文主要阐述该书在数学推导上一笔带过的地方.参考学习,在流畅理解书本内容的同时,还能温顾学过的数学知识,达到事半功倍的效果. ...

  5. HTML5与CSS3基础教程第八版学习笔记11~15章

    第十一章,用CSS进行布局 开始布局注意事项 1.内容与显示分离 2.布局方法:固定宽度和响应式布局 固定宽度,整个页面和每一栏都有基于像素的宽度 响应式布局也称为流式页面,使用百分数定义宽度 3.浏 ...

  6. HTML5与CSS3基础教程第八版学习笔记7~10章

    第七章,CSS构造块 CSS里有控制基本格式的属性(font-size,color),有控制布局的属性(position,float),还有决定访问者打印时在哪里换页的打印控制元素.CSS还有很多控制 ...

  7. HTML5与CSS3基础教程第八版学习笔记1~6章

    第一章,网页的构造块 网页主要包括三个部分: 1.文本内容(纯文字) 2.对其他文件的引用:图像,音频,视频,样式表文件,js文件 3.标记:对文本内容进行描述并确保引用正确地工作 注:所有这些成分都 ...

  8. c#高级编程第七版 学习笔记 第三章 对象和类型

    第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 ...

  9. CSS3秘笈第三版涵盖HTML5学习笔记1~5章

    第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...

随机推荐

  1. Maven仓库的布局

    任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven的仓库布局方式.例如log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/ ...

  2. spring含参数 环绕通知demo

    题目:有一个懂得读心术的人需要完成两件事情:截听志愿者的内心感应和显示他们在想什么 <?xml version="1.0" encoding="UTF-8" ...

  3. cdoj 80 Cube 水题

    Cube Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/80 Descrip ...

  4. iOS开发——动画编程Swift篇&(二)UIView转场动画

    UIView转场动画 // MARK: - UIView动画-过度动画 var redView:UIView? var blueView:UIView? // enum UIViewAnimation ...

  5. shell 笔记

    shell 笔记 通配符 没有 '.' [Aa] 表示 A 或者 a ? 表示任意字符 * 表示任意字符串 IFS data='name, sex, rollno, location' oldIFS= ...

  6. 实例源码--Android图片滚动切换效果

    下载源码 技术要点:  1.图片滚动切换技术 2.详细的源码注释 ...... 详细介绍: 1.图片滚动切换技术 本套源码实现了类似于网站图片滚动推广效果,效果不错,很不错的参考源码 2.源码目录 运 ...

  7. C++与正态分布

    正态分布(Normal distribution)又名高斯分布(Gaussiandistribution).若随机变量X服从一个数学期望为μ.方差为σ^2的高斯分布,记为N(μ,σ^2).其概率密度函 ...

  8. 琐碎-hadoop2.2.0-hbase0.96.0-hive0.13.1整合

    关于hadoop和hive.hbase的整合就不说了,这里就是在hadoop2.2.0的环境下整合hbase和hive 因为hive0.12不支持hadoop2,所以还要替换一些hadoop的jar包 ...

  9. ApplePay高调入华,教你在app里上线ApplePay

      ApplePay在中国上线后,就有许多线上app前后脚加入了对其的接入支持,个人比较喜欢的ENJOY也抢在首批接入了ApplePay应用内支付.本文将分享作者的接入经验. ApplePay是苹果公 ...

  10. C语言第七节流程控制

    流程控制 顺序结构:默认的流程结构.按照书写顺序执行每一条语句. 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码. 循环结构:在给定条件成立的情况下,反复执行某一段代码.     ...