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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐base.js
Dec 23 Javascript
Jquery chosen动态设置值实例介绍
Aug 08 Javascript
JS格式化数字保留两位小数点示例代码
Oct 15 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
Feb 23 Javascript
Javascript日期格式化format函数的使用方法
Aug 30 Javascript
微信小程序 数据绑定详解及实例
Oct 25 Javascript
js学习总结_选项卡封装(实例讲解)
Jul 13 Javascript
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
用webpack4开发小程序的实现方法
Jun 04 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 Javascript
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
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
PHP图片加水印实现方法
2016/05/06 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
js改变embed标签src值的方法
2015/04/10 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
node+vue实现文件上传功能
2020/05/28 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
Python深入学习之特殊方法与多范式
2014/08/31 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
如何开启linux的ssh服务
2013/06/03 面试题
大学生毕业自我鉴定范文
2013/09/19 职场文书
总经理职责范文
2013/11/08 职场文书
员工考核评语大全
2014/04/26 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
机关保密承诺书
2014/06/03 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
公司内部升职自荐信
2015/03/27 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
同学会感言
2015/07/30 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server