JQuery Ajax load

来源:互联网 发布:qq飞车修复工具无网络 编辑:程序博客网 时间:2024/05/16 01:13

jQuery - AJAX 简介

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

AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。

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

使用 AJAX 的应用程序案例:谷歌地图、腾讯微博、优酷视频、人人网等等。

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

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

编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着您必须编写额外的代码对浏览器进行测试。不过,jQuery 团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现 AJAX 功能。


jQuery - AJAX -load方法

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

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

语法:

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

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

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

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

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

<h2>jQuery and AJAX is FUN!!!</h2>
<p id="p1">This is some text in a paragraph.</p>
<table id="t1">
<tr>
<th> yuankai</th>
<th> guona</th>
</tr>
<tr>
<td> yuankai</td>
<td> guona</td>
</tr>
</table>

下面的例子会把文件 "demo.txt" 的内容加载到指定的 <div> 元素中:

注意:demo.txt要与网页放在同一目录下

实例

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("demo.txt #t");
  });
});
</script>
</head>
<body>

<div id="div1"><h2>使用 jQuery AJAX 修改文本内容</h2></div>
<button>获取外部内容</button>

</body>
</html>

效果

原网页:获取内容后的网页:

  

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

下面的例子把 "demo.txt" 文件中 id="t1" 的元素的内容,加载到指定的 <div> 元素中:

实例 

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("demo.txt #t1");
  });
});
</script>
</head>
<body>


<div id="div1"><h2>使用 jQuery AJAX 修改文本内容</h2></div>
<button>获取外部内容</button>


</body>
</html>

效果

原网页:获取内容后的网页:

   



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

  • response - 包含调用成功时的结果内容
  • status - 包含调用的状态
  • xhr - 包含 XMLHttpRequest 对象

下面的例子会在 load() 方法完成后显示一个提示框。如果 load() 方法已成功,则显示成功的状态和消息,而如果失败(失败原因,url路径出现错误),则显示错误消息:

实例

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(
function() {
$("button").click(function() {
$("#div1").load("demo.txt",function(response,status,xhr) {
if(status == "success") {
alert("xhr.status:"+xhr.status+"\nxhr.statusText:"+xhr.statusText);
}
if(status == "error") {
alert("xhr.status:"+xhr.status+"\nxhr.statusText:"+xhr.statusText);
}
});
});
}
);
</script>
</head>
<body>


<div id="div1"><h2>使用 jQuery AJAX 修改该文本</h2></div>
<button>获取外部内容</button>


</body>
</html>

效果



0 0