第五章 jQuery AJAX详解.docx

上传人:b****6 文档编号:4777416 上传时间:2022-12-08 格式:DOCX 页数:25 大小:180.16KB
下载 相关 举报
第五章 jQuery AJAX详解.docx_第1页
第1页 / 共25页
第五章 jQuery AJAX详解.docx_第2页
第2页 / 共25页
第五章 jQuery AJAX详解.docx_第3页
第3页 / 共25页
第五章 jQuery AJAX详解.docx_第4页
第4页 / 共25页
第五章 jQuery AJAX详解.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

第五章 jQuery AJAX详解.docx

《第五章 jQuery AJAX详解.docx》由会员分享,可在线阅读,更多相关《第五章 jQuery AJAX详解.docx(25页珍藏版)》请在冰豆网上搜索。

第五章 jQuery AJAX详解.docx

第五章jQueryAJAX详解

目录

目录1

更新记录2

1jQueryAJAX简介2

1.1jQueryAJAX实例2

1.2什么是AJAX?

2

1.3关于jQuery与AJAX3

2jQuery-AJAXload()方法3

2.1jQueryload()方法3

3jQueryGet/Post6

3.1jQuery$.get()方法6

3.2jQuery$.post()方法7

3.3GET对比POST9

3.4jQueryAjax操作函数11

4jQuery.ajax()方法11

4.1参数13

4.2回调函数17

4.3数据类型17

4.4发送数据到服务器18

4.5高级选项18

5四种常见的POST提交数据方式19

5.1application/x-www-form-urlencoded19

5.2multipart/form-data20

5.3application/json21

5.4text/xml21

更新记录

日期

作者

更新内容

06.03

丛洪英

设计文档

1jQueryAJAX简介

AJAX是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新。

1.1jQueryAJAX实例

DOCTYPEhtml>

请点击下面的按钮,通过jQueryAJAX改变这段文本。

获得外部的内容

1.2什么是AJAX?

AJAX=异步JavaScript和XML(AsynchronousJavaScriptandXML)。

简短地说,在不重载整个网页的情况下,AJAX通过后台加载数据,并在网页上进行显示。

使用AJAX的应用程序案例:

谷歌地图、腾讯微博、优酷视频、人人网等等。

您可以在我们的 AJAX教程中学到更多有关AJAX的知识。

1.3关于jQuery与AJAX

jQuery提供多个与AJAX有关的方法。

通过jQueryAJAX方法,您能够使用HTTPGet和HTTPPost从远程服务器上请求文本、HTML、XML或JSON-同时您能够把这些外部数据直接载入网页的被选元素中。

提示:

如果没有jQuery,AJAX编程还是有些难度的。

编写常规的AJAX代码并不容易,因为不同的浏览器对AJAX的实现并不相同。

这意味着您必须编写额外的代码对浏览器进行测试。

不过,jQuery团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现AJAX功能。

2jQuery-AJAXload()方法

2.1jQueryload()方法

jQueryload()方法是简单但强大的AJAX方法。

load()方法从服务器加载数据,并把返回的数据放入被选元素中。

语法:

$(selector).load(URL,data,callback);

必需的 URL 参数规定您希望加载的URL。

可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。

可选的 callback 参数是load()方法完成后所执行的函数名称。

这是示例文件("demo_test.txt")的内容:

jQueryandAJAXisFUN!

!

!

Thisissometextinaparagraph.

下面的例子会把文件"demo_test.txt"的内容加载到指定的

元素中:

示例

$("#div1").load("demo_test.txt");

实例:

DOCTYPEhtml>

请点击下面的按钮,通过jQueryAJAX改变这段文本。

获得外部的内容

也可以把jQuery选择器添加到URL参数。

下面的例子把"demo_test.txt"文件中id="p1"的元素的内容,加载到指定的

元素中:

实例

$("#div1").load("demo_test.txt#p1");

DOCTYPEhtml>

使用jQueryAJAX来改变文本

可选的callback参数规定当load()方法完成后所要允许的回调函数。

回调函数可以设置不同的参数:

∙responseTxt -包含调用成功时的结果内容

∙statusTXT -包含调用的状态

∙xhr -包含XMLHttpRequest对象

下面的例子会在load()方法完成后显示一个提示框。

如果load()方法已成功,则显示“外部内容加载成功!

”,而如果失败,则显示错误消息:

实例

$("button").click(function(){

$("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){

if(statusTxt=="success")

alert("外部内容加载成功!

");

if(statusTxt=="error")

alert("Error:

"+xhr.status+":

"+xhr.statusText);

});

});

实例

DOCTYPEhtml>

使用jQueryAJAX来改变文本

3jQueryGet/Post

jQueryget()和post()方法用于通过HTTPGET或POST请求从服务器请求数据。

HTTP请求:

GETvs.POST

两种在客户端和服务器端进行请求-响应的常用方法是:

GET和POST。

∙GET -从指定的资源请求数据

∙POST -向指定的资源提交要处理的数据

GET基本上用于从服务器获得(取回)数据。

注释:

GET方法可能返回缓存数据。

POST也可用于从服务器获取数据。

不过,POST方法不会缓存数据,并且常用于连同请求一起发送数据。

3.1jQuery$.get()方法

$.get()方法通过HTTPGET请求从服务器上请求数据。

语法:

$.get(URL,callback);

必需的 URL 参数规定您希望请求的URL。

可选的 callback 参数是请求成功后所执行的函数名。

下面的例子使用$.get()方法从服务器上的一个文件中取回数据:

实例

$("button").click(function(){

$.get("demo_test.asp",function(data,status){

alert("Data:

"+data+"\nStatus:

"+status);

});

});

实例

DOCTYPEhtml>

$.get()的第一个参数是我们希望请求的URL("demo_test.asp")。

第二个参数是回调函数。

第一个回调参数存有被请求页面的内容,第二个回调参数存有请求的状态。

提示:

这个ASP文件("demo_test.asp")类似这样:

<%

response.write("ThisissometextfromanexternalASPfile.")

%>

3.2jQuery$.post()方法

$.post()方法通过HTTPPOST请求从服务器上请求数据。

语法:

$.post(URL,data,callback);

必需的 URL 参数规定您希望请求的URL。

可选的 data 参数规定连同请求发送的数据。

可选的 callback 参数是请求成功后所执行的函数名。

下面的例子使用$.post()连同请求一起发送数据:

实例

$("button").click(function(){

$.post("demo_test_post.asp",

{

name:

"DonaldDuck",

city:

"Duckburg"

},

function(data,status){

alert("Data:

"+data+"\nStatus:

"+status);

});

});

实例

$.post()的第一个参数是我们希望请求的URL("demo_test_post.asp")。

然后我们连同请求(name和city)一起发送数据。

"demo_test_post.asp"中的ASP脚本读取这些参数,对它们进行处理,然后返回结果。

第三个参数是回调函数。

第一个回调参数存有被请求页面的内容,而第二个参数存有请求的状态。

提示:

这个ASP文件("demo_test_post.asp")类似这样:

<%

dimfname,city

fname=Request.Form("name")

city=Request.Form("city")

Response.Write("Dear"&fname&".")

Response.Write("Hopeyoulivewellin"&city&".")

%>

3.3GET对比POST

两种最常用的HTTP方法是:

GET和POST。

什么是HTTP?

超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。

HTTP的工作方式是客户机与服务器之间的请求-应答协议。

web浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

举例:

客户端(浏览器)向服务器提交HTTP请求;服务器向客户端返回响应。

响应包含关于请求的状态信息以及可能被请求的内容。

两种HTTP请求方法:

GET和POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:

GET和POST。

∙GET -从指定的资源请求数据。

∙POST -向指定的资源提交要被处理的数据

GET方法

请注意,查询字符串(名称/值对)是在GET请求的URL中发送的:

/test/demo_form.asp?

name1=value1&name2=value2

有关GET请求的其他一些注释:

∙GET请求可被缓存

∙GET请求保留在浏览器历史记录中

∙GET请求可被收藏为书签

∙GET请求不应在处理敏感数据时使用

∙GET请求有长度限制

∙GET请求只应当用于取回数据

POST方法

请注意,查询字符串(名称/值对)是在POST请求的HTTP消息主体中发送的:

POST/test/demo_form.aspHTTP/1.1

Host:

name1=value1&name2=value2

有关POST请求的其他一些注释:

∙POST请求不会被缓存

∙POST请求不会保留在浏览器历史记录中

∙POST不能被收藏为书签

∙POST请求对数据长度没有要求

比较GET与POST

下面的表格比较了两种HTTP方法:

GET和POST。

 

GET

POST

后退按钮/刷新

无害

数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

书签

可收藏为书签

不可收藏为书签

缓存

能被缓存

不能缓存

编码类型

application/x-www-form-urlencoded

application/x-www-form-urlencoded或multipart/form-data。

为二进制数据使用多重编码。

历史

参数保留在浏览器历史中。

参数不会保存在浏览器历史中。

对数据长度的限制

是的。

当发送数据时,GET方法向URL添加数据;URL的长度是受限制的(URL的最大长度是2048个字符)。

无限制。

对数据类型的限制

只允许ASCII字符。

没有限制。

也允许二进制数据。

安全性

与POST相比,GET的安全性较差,因为所发送的数据是URL的一部分。

在发送密码或其他敏感信息时绝不要使用GET!

POST比GET更安全,因为参数不会被保存在浏览器历史或web服务器日志中。

可见性

数据在URL中对所有人都是可见的。

数据不会显示在URL中。

其他HTTP请求方法

下面的表格列出了其他一些HTTP请求方法:

方法

描述

HEAD

与GET相同,但只返回HTTP报头,不返回文档主体。

PUT

上传指定的URI表示。

DELETE

删除指定资源。

OPTIONS

返回服务器支持的HTTP方法。

CONNECT

把请求连接转换到透明的TCP/IP通道。

3.4jQueryAjax操作函数

jQuery库拥有完整的Ajax兼容套件。

其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据。

函数

描述

jQuery.ajax()

执行异步HTTP(Ajax)请求。

.ajaxComplete()

当Ajax请求完成时注册要调用的处理程序。

这是一个Ajax事件。

.ajaxError()

当Ajax请求完成且出现错误时注册要调用的处理程序。

这是一个Ajax事件。

.ajaxSend()

在Ajax请求发送之前显示一条消息。

jQuery.ajaxSetup()

设置将来的Ajax请求的默认值。

.ajaxStart()

当首个Ajax请求完成开始时注册要调用的处理程序。

这是一个Ajax事件。

.ajaxStop()

当所有Ajax请求完成时注册要调用的处理程序。

这是一个Ajax事件。

.ajaxSuccess()

当Ajax请求成功完成时显示一条消息。

jQuery.get()

使用HTTPGET请求从服务器加载数据。

jQuery.getJSON()

使用HTTPGET请求从服务器加载JSON编码数据。

jQuery.getScript()

使用HTTPGET请求从服务器加载JavaScript文件,然后执行该文件。

.load()

从服务器加载数据,然后把返回到HTML放入匹配元素。

jQuery.param()

创建数组或对象的序列化表示,适合在URL查询字符串或Ajax请求中使用。

jQuery.post()

使用HTTPPOST请求从服务器加载数据。

.serialize()

将表单内容序列化为字符串。

.serializeArray()

序列化表单元素,返回JSON数据结构数据。

4jQuery.ajax()方法

实例

通过AJAX加载一段文本:

jQuery代码:

$(document).ready(function(){

$("#b01").click(function(){

htmlobj=$.ajax({url:

"/jquery/test1.txt",async:

false});

$("#myDiv").html(htmlobj.responseText);

});

});

HTML代码:

LetAJAXchangethistext

ChangeContent

实例

$(document).ready(function(){

$("#b01").click(function(){

htmlobj=$.ajax({url:

"/jquery/test1.txt",async:

false});

$("#myDiv").html(htmlobj.responseText);

});

});

通过AJAX改变文本

改变内容

定义和用法

ajax()方法通过HTTP请求加载远程数据。

该方法是jQuery底层AJAX实现。

简单易用的高层实现见$.get,$.post等。

$.ajax()返回其创建的XMLHttpRequest对象。

大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。

最简单的情况下,$.ajax()可以不带任何参数直接使用。

注意:

所有的选项都可以通过$.ajaxSetup()函数来全局设置。

语法

jQuery.ajax([settings])

参数

描述

settings

可选。

用于配置Ajax请求的键值对集合。

可以通过$.ajaxSetup()设置任何选项的默认值。

4.1参数

options

类型:

Object

可选。

AJAX请求设置。

所有选项都是可选的。

async

类型:

Boolean

默认值:

true。

默认设置下,所有请求均为异步请求。

如果需要发送同步请求,请将此选项设置为false。

注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

beforeSend(XHR)

类型:

Function

发送请求前可修改XMLHttpRequest对象的函数,如添加自定义HTTP头。

XMLHttpRequest对象是唯一的参数。

这是一个Aja

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1