jQuery Ajax之load()方法


Posted in Javascript onOctober 12, 2009

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

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

load()方法参数解释见下表:

参数名称 类 型 说明
url String 请求HTML页面的URL地址
data(可选) Object 发送至服务器的key/value数据
callback(可选) Function 请求完成时的回调函数,无论请求成功或失败

1、 载入HTML文档
首先创建一个名为test.html的HTML文件,为后台Ajax载入做准备。代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> <div class="comment"> 
    已有评论: 
</div> 
<div class="comment"> 
    <h6>张三:</h6> 
    <p class="para">沙发。</p> 
</div> 
<div class="comment"> 
    <h6>李四:</h6> 
    <p class="para">板凳。</p> 
</div> 
<div class="comment"> 
    <h6>王五:</h6> 
    <p class="para">地板。</p> 
</div> 
</body> 
</html>

然后新建一个空白页面,在上面添加两个元素:<button>按钮用来触发Ajax事件,id为“resText”的元素用来显示追加的HTML内容。接下来就是编写jQuery代码了。等DOM元素加载完毕,通过单击id为“send”的按钮来调用laod()方法,然后将test.html的内容加载到id为“resText”的元素里。那么代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
<script type="text/javascript" src="/jquery-1.3.2.js" ></script> 
</head> 
<body> <input type="button" id="send" value="Ajax获取" /> 
<div id="resText"></div> 
<script type="text/javascript"><!-- 
$(document).ready(function(){ 
    $("#send").click(function(){ 
        $("#resText").load("test.html"); 
    }); 
}); 
// --></script> 
</body> 
</html>

当按钮被单击后,出现如下图的界面:

jQuery Ajax之load()方法
显然,load()方法完成了原本很繁琐的工作。开发人员只需要使用jQuery选择器为HTML片段指定目标位置,然后将要加载的文件的URL作为参数传递给load()方法即可。
2、 筛选载入的HTML文档

上个例子是将test.html页面的内容都加载到id为“resText”的元素里。如果只需要加载test.html页面内的某些元素,那么可以使用load()方法的URL参数来达到目的。通过为URL参数指定选择符,可以很方便地从加载过来的HTML文档里筛选出所需要的内容。

load()方法的URL参数的语法结构为:“url selector”。注意,URL和选择器之间有一个空格。

例如只需要加载test.html页面中class为“para”的内容,可以使用以下代码来完成:

$("#resText").load("test.html .para");

运行效果则如下图:

jQuery Ajax之load()方法
3、 传递方式

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

//无参数传递,则是GET方式 
$("#resText").load("test.php",function(){ 
//...... 
}); 
//有参数传递,则是POST方式 
$("#resText").load("test.php",{name:"xht555",age:"24"},function(){ 
//...... 
});

4、 回调参数

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

$("#resText").load("test.html",function(responseText,textStatus,XMLHttpRequest){ 
//responseText:请求返回的内容 
//textStatus:请求状态:success、error、notmodified、timeout这4种 
//XMLHttpRequest:XMLHttpRequest对象 
});

注意:在load()方法中,无论Ajax请求是否成功,只要当请求完成(complete)后,回调函数(callback)就被触发。

Javascript 相关文章推荐
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
Sep 27 Javascript
js/jquery解析json和数组格式的方法详解
Jan 09 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
JavaScript中使用Object.create()创建对象介绍
Dec 30 Javascript
JS实现设置ff与ie元素绝对位置的方法
Mar 08 Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 Javascript
基于Layer+jQuery的自定义弹框
May 26 Javascript
vue单页缓存方案分析及实现
Sep 25 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
Element Rate 评分的使用方法
Jul 27 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 Javascript
jQuery实现推拉门效果
Oct 19 jQuery
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 #Javascript
JS 文件本身编码转换 图文教程
Oct 12 #Javascript
jQuery 行级解析读取XML文件(附源码)
Oct 12 #Javascript
jquery select选中的一个小问题
Oct 11 #Javascript
Jquery 表单取值赋值的一些基本操作
Oct 11 #Javascript
jquery 框架使用教程 AJAX篇
Oct 11 #Javascript
jQuery live( type, fn ) 委派事件实现
Oct 11 #Javascript
You might like
用Flash图形化数据(二)
2006/10/09 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
php中socket通信机制实例详解
2015/01/03 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
JQuery 入门实例1
2009/06/25 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
房屋租赁意向书
2014/04/01 职场文书
2014年建筑工作总结
2014/11/26 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书