分享好友 最新动态首页 最新动态分类 切换频道
使用JQuery中AJAX的几种方法
2024-12-26 15:11

 jQuery 也支持 Ajax 技术,它封装了 XMLHttpRequest 组件并初始化,还封装了 Ajax 请求
中各种基本操作,并 把这些操作定义为简单的方法。另 外,把 Ajax请求中各种状态封装为事件,

这样只要调用对应的事件就可以快速执行绑定的回调函数。

 封装了多种方法实现与远程进行通信,下面分别进行讲解。


1.方法一:load(url,[data],[callback])
load()方法能够载入远程HTML 文件代码并插入到匹配元素中。默认使用GET 方式,传递
附加参数时自动转换为POST 方式。

例如,新建一个text.html 文档。
<!DOCTYPE html PUBLIC "https://
W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.
dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta httpequiv="
ContentType"
content="text/html; charset=utf8"
/>
<title>Ajax 请求</title>
</head>
<body>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</body>
</html>
然后在当前示例文档中输入下面代码:
<ul></ul>
<script language="" type="text/javascript">
$("ul").load("test.html");
</script>
这样 jQuery 会自动从 text.html 文档中提取 body 元素包含的代码,并把这些代码插入到匹
配的ul 元素中。最后显示为:

<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ul>

请注意,在使用load()方法时,所有页面的字符编码应该设置为utf8,
否则jQuery 在加载
文档时会显示乱码。另外,匹配的元素应该只有一个,否则系统会出现异常。例如,下面代码
将会导致加载出现异常。
<ul></ul>
<ul></ul>
<script language="javascript" type="text/javascript">
$("ul").load("test.html");
</script>
load(url,[data],[callback])方法还可以附带传递参数,这些参数将以 POST 方式传递给服
务器,并可以定义加载成功时执行的回调函数。例如,下面示例将向服务器端的 test.asp 发
送一个请求,并以 POST 的方式传递一个参数 name,参数值为“zhu”。 加载成功之后会弹出
一个提示信息对话框。
<ul></ul>
<script language="javascript" type="text/javascript">
$("ul").load("2088_
test.asp", {name:"zhu"}, function(){
alert("加载成功!");
});
</script>


2.方法二: jQuery.get(url,[data],[callback])

jQuery.get()方法能够通过远程HTTP GET 方式请求载入信息。该方法包含三个参数,参数
含义与load()方法相同。例如,新建一个test.asp 服务器文件,输入下面代码,用来获取客户端
传递过来的查询字符串信息,并把这些信息反馈给客户端。请注意,本示例需要服务器环境的
支持,否则无法执行。
<%
dim str
str = Request.QueryString("name") '从客户端接收查询字符串参数值
Response.Write str '把接收的查询字符串再响应给客户端
%>
然后,在示例文档中输入下面代码:
<script language="javascript" type="text/javascript">
$.get("test.asp", {name:"zhu"}, function(data){
alert(data);
});
</script>
在上面代码中使用jQuery对象的get()方法向服务器端test.asp文件发送一个请求,并 以GET
的方式向服务器传递一个参数,服务器响应之后会把返回值存储在回调函数参数中,所以,最
后弹出的提示对话框显示为“zhu”字符信息。

 

3.方法三:jQuery.post(url,[data],[callback])
jQuery.post() 与 jQuery.get() 的操作方法相同, 不同点是它们传递参数的方式不同。

jQuery.post()是以POST方式来传递参数,所 传递的信息可以不受限制,且 可以传递二进制信息,
具体用法就不再举例。

 

4.方法四:jQuery.ajax()

jQuery.ajax(options)方法与 9.1 节讲解的几个方法功能相同,都是向服务器端发送请求,并
传递参数,最后调用回调函数获取响应信息。下面看一个示例,该示例是在 9.1 节示例基础上
进行修改的。
首先,建立一个服务器端处理文件(test.asp),代码如下:
<%
dim user,where
user = Request.Form("user")
where = Request.Form("where")
Response.AddHeader "ContentType","
text/html;charset=utf8"
Response.Write user&"在"&where
%>
在上面代码中,首先获取客户端传递过来的参数值,使用 Request.Form()数据集合
进行读取,因为客户端采用 POST 方式进行传递。然后再把这些信息传递给客户端,考
虑到传递字符中可能包含中文字符,所以这里需要设置传递的文件字符,编码统一为utf8

在本地文件中输入下面代码:
<script language="javascript" type="text/javascript">
$.ajax({
type: "POST", //设置请求方式
url: "2091_
test.asp", //设置请求URL
data: "user=朱印宏&where=家里", //设置传递的参数值
success: function(msg){ //设置响应成功之后执行的回调函数
alert(msg ); //显示服务器响应的信息
}
});
</script>
最后执行文件,会弹出如图4 所示的提示信息。

jQuery.ajax()方法的主要参数名及其说明
参数名 说 明
async
逻辑值,默认为 true,即请求为异步请求。如果需要发送同步请求,该选项设置为 false。同步请求将锁住浏
览器,用户的其他操作必须等待请求完成才可以执行
beforeSend 发送请求前可修改 XMLHttpRequest 对象的函数
cache 是否从浏览器缓存中加载请求信息,默认为 false
complete 请求完成后回调函数,不管请求是成功还是失败均调用
contentType 发送信息到服务器时内容编码类型,默认为适合大多数应用场合
data
发送到服务器的数据将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。如果 processData 选项禁
止此自动转换, 必须为名/ 值对格式。如果为数组, jQuery 将自动为不同值对应同一个名称, 如
{foo:["bar1","bar2"]}转换为'&foo=bar1&foo=bar2'
dataType 预期服务器返回的数据类型。取值包括 xml、html、script、json 和 jsonp
error 请求失败时调用函数
global 是否触发全局 Ajax 事件,默认为 true
ifModified 是否仅在服务器数据改变时获取新数据,默认为 false
processData 发送的数据是否可以被转换为对象,默认为 true
success 请求成功后回调函数,参数为服务器返回数据
timeout 设置请求超时时间(毫秒)
type 发送请求的方式,默认为 GET,取值包含 POST、GET、PUT 和 DELETE
url 发送请求的地址

 

5.另外:Ajax 事件

讲解的几个 Ajax 请求所使用的方法外,jQuery 为了方便用户灵活跟踪 Ajax 请
求和响应整个完整的过程,还定义了几个事件函数,说明如表7 所示。
表7 Ajax 事件函数及其说明
Ajax 事件 说 明
ajaxStart(callback) Ajax 请求开始时执行函数
ajaxSend(callback) Ajax 请求发送前执行函数
ajaxComplete(callback) Ajax 请求完成时执行函数
ajaxSuccess(callback) Ajax 请求成功时执行函数
ajaxError(callback) Ajax 请求发生错误时执行函数
ajaxStop(callback) Ajax 请求结束时执行函数
例如,下面示例连续跟踪Ajax 请求的全部过程。该过程实际上还是利用readyState 属性进
行跟踪的,把该属性封装到一个方法中,这样使用更加方便。

最新文章
如何解决房屋内墙面渗水问题?这些方法有哪些实际效果?
房屋内墙面渗水是一个令人头疼的问题,不仅影响美观,还可能导致墙面发霉、脱落,甚至影响居住者的健康。下面为您介绍一些解决房屋内墙面渗水问题的方法及其实际效果。1. 外墙防水涂料:在外墙表面涂刷防水涂料,形成一层防水膜,阻挡雨水
梦幻西游全服第一童子 18技能资质不差感受人生巅峰
  逆袭无级别的玩家有上千个,但是绝大多数的无级别装备价格都在10万以下,价格能到50万以上的少之又少!童子不一样,他是目前梦幻西游里175级玩家用来打服战的最佳选择。内丹数量6个、天生成长资质高、有必带技能,合成多技能的童子可比
(2024版)天翼云从业者认证考试题库(多选题汇总).docxVIP
(2024版)天翼云从业者认证考试题库大全-下(多选题汇总)第一部分多选题1.边缘节点是相对于网络复杂结构而提出的一个概念,指距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的什么?A、运维能力B、响应能力C、安全能力D
贵阳夜生活指南:2024年热门商务KTV与夜总会排名及包厢价格概览
发布时间:2024-12-14 14:45:01贵阳,这座光与影交织的城市,以其独特的魅力吸引着八方来客。夜幕降临,华灯初上,贵阳的夜生活也随之拉开帷幕。你可以体验到别具一格的休闲娱乐方式,无论是逛街购物,还是享受夜总会的繁华,都能让人沉醉
上海徐汇线上青少年编程培训名单大全一览
课程单价:250元课时数:80节全部校区:童程童美少儿编程(南城中心)课程内容:课程采用SPIKE硬件以编程逻辑为主要学习目标,引导学生进行自主设计、搭建、编程,培养学生独立解决问题的能力。课程中还引入知名科创挑战活动的经典项目,锻
行为人的笔迹是怎么鉴定的?
一、行为人的笔迹是怎么鉴定的?由司法鉴定机构进行,笔迹鉴定的整个过程可以分为分别检验、比较检验、综合判断三个阶段。1、分别检验分别检验是发现与确定检材笔迹与样本笔迹各自的特征:真实程度、检材特征、样本特征。2、比较检验比较检
sem推广是什么?SEM推广的基本原理和优势
  SEM(Search Engine Marketing)是指通过搜索引擎进行网络营销的一种方式。在当今数字化时代,搜索引擎已经成为人们获取信息、寻找产品和服务的主要途径之一。而SEM推广作为一种有效的网络营销手段,已经成为各行各业企业提升品牌知名度
逆水寒手游江湖门派技能效果
逆水寒手游中有五大江湖门派,加入之后可以学会独特的门派技能。不少玩家对于这些门派的技能非常感兴趣,本次就给大家详细介绍一下。1、相思门相思剑法一式:突刺,对路径敌人造成伤害二式:化为剑影,跟随指定目标,持续造成伤害。三式:斩击。
还有6天,一年一度的云电脑产业嘉年华即将开启
12月18日14:00北京香格里拉饭店2024通信产业大会AI赋能云电脑创新发展论坛一年一度的云电脑产业嘉年华盘点2024云电脑产业发展特征展望2025AI云终端技术趋势发布2024云电脑产业创新调研(第二届)行业领袖纵论AI赋能产业机会和挑战最新云电
网站运营做seo/保定seo推广外包
  在有条件有能力的情况下,可以考的证书还是比较多的,也没有必要全部都考,主要看自己需要,符合需求。 那先了解一下PMP: PMP®的全称是Project Management Professional(项目管理专业人士资格认
相关文章
推荐文章
发表评论
0评