20150304+JQuery+AJax+插件-01

The Write Less,Do More——jQuery下

目录

The Write Less,Do More——jQuery 1

一、each方法 2

二、jQuery中的ajax操作 3

1ajax的底层实现 4

2ajax的高级实现 7

1)模拟发送get请求 7

2)通过时间戳解决get请求缓存问题 8

3)模拟post请求 8

4)返回值类型 9

三、Ajax跨域请求——jsonp技术 11

1Ajax跨域请求原理图 11

2Ajax跨域请求不被允许的原因 11

3jsonp协议 12

4、通过jsonp返回大批量数据 13

四、jQuery中的跨域请求 15

1、通过jQueryajax底层实现$.ajax()解决跨域问题 15

2、通过$.get()方法解决跨域请求 16

3$.getJSON()方法解决跨域请求 17

五、天气预报 18

1、原理图 18

2、代码实现 18

六、那些年涛哥追过的jQuery插件 19

1Lightbox 19

2jquery.rotate.min.js插件 19

3ValidateForm 20

4、多文件上传 20

5jquery.lazyload.js 21

6jQuery Mobile 21

each方法

功能:用于遍历jQuery对象

基本语法:

jQuery对象.each(callback):该函数只有一个参数,要求是一个callback函数,函数的格式如下:

function callback(i,item){}

参数说明:

jQuery对象中拥有多少个元素,那么我们的callback函数就会自动执行多少次。

i:遍历时,系统会自动将当前元素的索引下标放入变量i中,默认从0开始

item:便利是,系统会自动将当前元素的本身放入变量item中,其就是当前的dom对象

例1:通过each实现对三个层的内容进行遍历,并更改其内容为第1个div元素…

运行效果:

例2:替换当前页面的img中的src属性更换为不同的三张图片

demo02_each.html

运行效果:

、jQuery中的ajax操作

如果是get请求,就要分5步

如果是post请求,就要分6步

//1)创建Ajax对象

var xhr = createXhr();

//2)设置回调函数

xhr.onreadystatechange = function(){

//6)判断与执行

}

//3)初始化ajax

xhr.open(‘post’,’demo01.php’);

//4)设置请求头信息

xhr.setRequestHeader(‘Content-type’,’application/x-www-form-urlencoded’);

//5)发送ajax请求

xhr.send(data);

在jQuery中的ajax实现有二种方式,三种方法

方式一:ajax的底层实现

l jQuery.ajax(options)

方式二:ajax的高级实现

l jQuery.get(url,[data],[callback])

l jQuery.post(url,[data],[callback])

1、ajax的底层实现

jQuery.ajax(options) === $.ajax

参数说明:

options:要求该参数为一个json对象

l async :是否异步 ,默认为true

l cache :缓存,bool类型,true:缓存,false:不缓存,默认为true

l complete :当ajax状态码为4时,所触发的回调函数

l contentType :设置请求头信息

l data :ajax发送时,所传递的参数,要求是一个字符串

l dataType :期待的返回值类型,text,xml,json,默认为text

l success :当ajax状态为4且http响应状态码为200所触发的回调函数

l type :ajax发送的请求类型:get,post

l url :请求的url地址

例1:

demo03_ajax.html

效果:

注:运行以上代码,我们发现,当在IE浏览器下运行时,系统还是会产生缓存问题,那么如何解决缓存呢?

答:可以通过cache方式解决缓存问题

例2:

例3:通过ajax发送数据到服务器端

返回结果:hello zhangsan

例4:通过ajax发送post请求

返回结果:hello zhangsan

注:在ajax底层实现中可以不添加请求头信息,系统会自动追加请求头到发送数据中

例5:通过ajax底层实现返回两个数的四则

返回值类型

text文本、xml格式、json格式

运行结果:

2、ajax的高级实现

l jQuery.get(url,[data],[callback]) :模拟ajax的get请求

l jQuery.post(url,[data],[callback]) :模拟ajax的post请求

参数说明:

url:要请求的url地址

[data]:要发送的数据,要求该参数为json对象

[callback]:当ajax状态码为4且http响应状态码为200时,所触发的回调函数

[type]:期待的返回值类型,text,xml,json

1)模拟发送get请求

通过运行可知,虽然以上程序可以正常运行,但还是存在缓存问题,那么如何解决呢?

2通过时间戳解决get请求缓存问题

运行效果:

3)模拟post请求

运行效果:

4)返回值类型

1)xml数据的解析

结果如下:

2)通过jQuery方式进行解析

var person=$(msg).find(“person”);

person.children(“name”).text());

person.children(“jian”).text());

person.children(“cheng”).text());

运行结果:

2)json数据的解析

运行效果:

时间: 2024-10-29 19:05:45

20150304+JQuery+AJax+插件-01的相关文章

20150304+JQuery+AJax+插件-02

三.Ajax跨域请求--jsonp技术 1.Ajax跨域请求原理图 2.Ajax跨域请求不被允许的原因 l Ajax技术由于受到浏览器的限制,该方法不允许跨域通信. l 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性.也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同.这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作. 3.jsonp协议 jsonp就是一个非官方协议,主要用于解决Ajax的跨域请求问题 面试题:json与jsonp的区别 jsonp技术主

[开源] jQuery 插件,利用‘localStorage’ 对 jQuery AJAX进行缓存,优化页面ajax请求

jquery-ajax-cache 源码地址:https://github.com/WQTeam/jquery-ajax-cache jQuery插件——利用‘localStorage’ 和 ‘sessionStorage’ 对 jQuery AJAX 请求进行缓存. 首先说明下在什么场景下需要用到缓存ajax请求到localstorage中.都知道浏览器本身对http请求就是有缓存策略的,但是这种缓存方式两个缺陷:1.只能缓存get请求 2.同时缓存的设置都在后端响应的报文头部指定.(PS:现

jquery ajax分页插件特效源代码demo完整版

原文:jquery ajax分页插件特效源代码demo完整版 源代码下载地址:http://www.zuidaima.com/share/1550463586798592.htm 网上找的,原版本没有测试数据和建表脚本啥的,我给加上了.

jQuery ajax 实现分页 kkpager插件

代码片段一: <!--分页组件 JS CSS 开始--> <!--分页组件 CSS--> <link type="text/css" href="/resource/css/kkpager_blue.css" rel="stylesheet" /> <!--分页组件 JS--> <script type="text/javascript" src="/resour

Jquery Ajax表单提交插件jquery form用法

首先我们载入jquery库和jquery.form.js插件.jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/  代码如下 复制代码 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.form.m

JQuery Validate插件如何自定义验证方法(结合ajax实现数据库的查重)

概述 本文介绍Validate自定义表单校验方式.Validate插件虽然提供了丰富的验证规则,但在很多时候仍然很难满足我们的开发需求,在注册页面我们需要通过ajax验证用户输入的用户名是否已经被他人注册,那此时通过传统的Validate验证方式已经无法满足需求了! 我们可以通过自定义验证方法来结合ajax实现这个需求. 自定义ajax基本语法 因为validate是JQuery的插件,所以在此之前必须先导入JQuery和validate的JS包. <script type="text/j

validate+jquery+ajax表单验证

①Html form表单内容 <form class="cForm" id="cForm" method="post" action=""> <p> <label for="user">用户名</label> <input id="user" name="user" required minlength="

jQuery Validate 插件,表单验证功能

连接地址:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 Jör

jQuery 常用插件和UI插件 总结笔记

1. jQuery 常用插件 (1). 表单验证插件--validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({options});其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置. Jquery Validate 验证规则 (1)required:true 必输字段 (2)remote:"check.