jQuery.load()事件使用方法详解

jQuery.load()是ajax中一种异步加载的事件,我们可以加载整个页面并且也可以带参数加载,下面我来详细介绍jQuery.load()事件用法,希望对初学者有所帮助。

.load( url, [ data ], [ complete(responseText, textStatus, XMLHttpRequest) ] ) 返回: jQuery
描述: 载入远程 HTML 文件代码并插入至 DOM 中。
version added: 1.0.load( url, [ data ], [ complete(responseText, textStatus, XMLHttpRequest) ] )
url一个包含发送请求的URL字符串
data向服务器发送请求的Key/value参数,例如{name:"愚人码头",age:23}
complete(responseText, textStatus, XMLHttpRequest)当请求成功后执行的回调函数。
这个方法是从服务器获取数据最简单的方法。除了是一个不是全局函数,这个方法和$.get(url, data, success) 基本相同,它有一种隐含的回调函数。 当他检查到一个成功的请求(i.e. 当 textStatus是 "success" 或者 "notmodified"),.load() 方法将返回的HTML 内容数据设置到相匹配的节点中。这就意味着大多数采用这个方法可以很简单:
$(‘#result‘).load(‘ajax/test.html‘);如果提供回调,都将在执行后进行后处理:
代码如下 复制代码
$(‘#result‘).load(‘ajax/test.html‘, function() {
alert(‘Load was performed.‘);
});
在上文的两个例子中, 如果当前的文件不包含ID为“result”的元素,那么.load()方法将不被执行。
默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。
注意: 事件处理函数中也有一个方法叫 .load()。 哪一个被使用取决于传递的参数设置。
加载页面片段
.load() 方法, 不像 $.get(),允许我们指定远程文件被插入的部分。 他是一个特殊的 url 参数。 一个或多个空格字符被包括在这个 url 参数字符串中, 在这个字符串被第一空格划分jQuery选择内容将被载入。
我们可以修改上述例子中,只有“#container”部分被载人到文件中:
$(‘#result‘).load(‘ajax/test.html #container‘);当这种方法执行, 它将检索 ajax/test.html 页面的内容,jQuery会获取ID为 container 元素的内容,并且插入到ID为 result 元素,而其他的被检索到的元素将被废弃。
举例:
例子: Load the main page‘s footer navigation into an ordered list.
代码如下 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
body{ font-size: 12px; font-family: Arial; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>

<b>Footer navigation:</b>
<ol id="new-nav"></ol>
<script>
$("#new-nav").load("/ #jq-footerNavigation li");
</script>
</body>
</html>
Demo:
例子: 显示一个信息如果Ajax请求遭遇一个错误
代码如下 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
body{ font-size: 12px; font-family: Arial; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>

<b>Successful Response (should be blank):</b>
<div id="success"></div>
<b>Error Response:</b>
<div id="error"></div>

<script>
$("#success").load("/not-here.php", function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
}
});
</script>
</body>
</html>
Demo:
例子: 将feeds.html 文件载人到 ID为feeds的DIV.
代码如下 复制代码
$("#feeds").load("feeds.html");
结果:
<div id="feeds"><b>45</b> feeds found.</div>
例子: 发送数组形式的data参数到服务器。
代码如下 复制代码
$("#objectID").load("test.php", { ‘choices[]‘: ["Jon", "Susan"] } );

例子: 同上, but will POST the additional parameters to the server and a callback that is executed when the server is finished responding.
代码如下 复制代码
$("#feeds").load("feeds.php", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
一:如何使用data
1.加载一个php文件,该php文件不含传递参数
代码如下 复制代码
$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果
2. 加载一个php文件,该php文件含有一个传递参数
代码如下 复制代码
$("#myID").load("test.php",{"name" : "Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam
3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔
代码如下 复制代码
$("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=61dh.com
4. 加载一个php文件,该php文件以数组作为传递参数
代码如下 复制代码
$("#myID").load("test.php",{‘myinfo[]‘, ["Adam", "61dh.com"]});
//导入的php文件含有一个数组传递参数。
注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数。
二:如何使用callback
比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:
代码如下 复制代码
$("#go").click(function(){
$("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){
$("#myID").fadeIn(‘slow‘);}
);
});

备注:
在load的url里加上空格后面就可以跟选择器了。
例如:
代码如下 复制代码
$("body").load("test.html #a");

时间: 2024-10-10 16:46:54

jQuery.load()事件使用方法详解的相关文章

jQuery.extend()、jQuery.fn.extend()扩展方法详解

jQuery自定义了jQuery.extend()和jQuery.fn.extend()方法.其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法. 例如: jQuery.extend({ showName : function(name){ alert(name) } }); jQuery.showName("深蓝"); jQuery.extend()除了可以创建插件外,还可以用来扩展jQuery对象

jquery中的ajax方法详解

定义和用法ajax() 方法通过 HTTP 请求加载远程数据.该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性.最简单的情况下,$.ajax() 可以不带任何参数直接使用.注意:所有的选项都可以通过 $.ajaxSetup() 函数来全局设置. 语法 jQuery.ajax([settings])

jquery之remove(),detach()方法详解

一:remove()方法 remove()函数用于从文档中移除匹配的元素. 你还可以使用选择器进一步缩小移除的范围,只移除当前匹配元素中符合指定选择器的部分元素. 与detach()相比,remove()函数会同时移除与元素关联绑定的附加数据( data()函数 )和事件处理器等(detach()会保留). 该函数属于jQuery对象(实例). 语法 jQueryObject.remove( [ selector ] ) 参数 参数 描述 selector 可选/String类型指定的选择器字符

jquery之replaceAll(),replaceWith()方法详解

一:replaceAll() replaceAll()函数用于使用当前匹配元素替换掉所有的目标元素. 该函数属于jQuery对象(实例). 语法 jQuery 1.2 新增该函数. jQueryObject.replaceAll( target ) 参数 参数 描述 target String/Element/jQuery/Array类型被替换的目标元素,这些元素将被当前匹配元素替换掉. 如果参数target为字符串,则将其视作jQuery选择器. 返回值 replaceAll()函数的返回值为

jquery中的each()方法详解

each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$each可以大大的减轻我们的工作量. 下面提一下each的几种常用的用法 each处理一维数组 var arr1 = [ "aaa", "bbb", "ccc" ]; $.each(arr1, function(i,val){ alert(i); a

jquery之html(),text()方法详解

一:html() html()函数用于设置或返回当前jQuery对象所匹配的DOM元素内的html内容. 该函数的用途相当于设置或获取DOM元素的innerHTML属性值. 该函数属于jQuery对象(实例). 语法 jQueryObject.html( [ htmlString ] ) 参数 参数 描述 htmlString 可选/String/Function类型用于设置的html字符串. 如果没有指定htmlString参数,则表示获取第一个匹配元素的html内容:如果指定了htmlStr

html学习 - jquery事件监听详解

html学习 - jquery事件监听详解 html学习 - jquery事件监听详解 监听方法 监听方法参数解释 click参数 事件自动执行问题解决 bind方法 live方法 监听方法 在jquery里,监听的方法比较多,用的最多的就是简单的.click() .onchange() .pressdown() 所以这样很简单啊,直接使用就好了,只要符合参数规范就可以了.除了这个还有bind() live() 方法. 而addEventListener()同bind()方法是没有很大功能上的区

jQuery插件制作方法详解

jQuery插件制作方法详解 jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加 上Jtip,并引入jtip.js及其样式即可以了.其他事情插件全包.我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件.写一 个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件. jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加上Jt

Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解

一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ var array = [1,2,3,4,5,6,7,8,9]; var filterarray = $.grep(array,function(value){ return value > 5;//筛选出大于5的 }); for(var i=0;i<filterarray.length;i++){ alert(filterarray[i]); } for (key in f