AJAX 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分。
1.$.ajax()方法:执行异步AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax() 方法。该方法通常用于其他方法不能完成的请求。
语法:$.ajax( { name: value, name:value,... } ) 该参数规定 AJAX 请求的一个或多个名称/值对。
如何使用异步设置来规定异步请求:
DocumentAJAX可以修改文本内容
修改内容
$(document).ready(function() {
$("button").click(function(){
$.ajax({url:"test.txt",async:true,success:function(result){
$("div").html(result);
}});
});
});
//url 规定发送请求的 URL。默认是当前页面。
//success(result,status,xhr)当请求成功时运行的函数。success方法是一个回调函数,获取从后台传来的数据
//async 布尔值,表示请求是否异步处理。默认是 true。
如何使用 dataType 设置来规定请求的数据类型:
Document使用Ajax获取数据并执行/button>
$(document).ready(function() {
$("button").click(function(){
$.ajax({url:"ajax_script.js",dataType:"script"});
});
});
//dataType 预期的服务器响应的数据类型。
ajax_script.js文件内容:
alert("该 JavaScript 脚本通过 AJAX 加载后执行");
如何使用错误设置来处理 AJAX 请求中的错误 :
Document艺术家
获取 CD 信息
$(document).ready(function() {
$("button").click(function(){
$.ajax({url:"wrongfile.txt",error:function(xhr) {
alert("错误提示:" + xhr.status + xhr.statusText);
}});
});
});
//error(xhr->XMLHttpRequest,status,error) 如果请求失败要运行的函数。xhr.status和error函数中的status是不一样的,error函数中的status主要包括:"success"、"notmodified"、"error"、"timeout"、"parsererror",而xhr.status如下所讲:404 NotFound
2.jQuery get() 方法:$.get() 方法使用 HTTP GET 请求从服务器加载数据。
语法:$.get(URL,data,function(data,status,xhr),dataType)
参数
描述
URL
必需。规定您需要请求的 URL。
data
可选。规定连同请求发送到服务器的数据。
function(data,status,xhr)
可选。规定当请求成功时运行的函数。
额外的参数:
data - 包含来自请求的结果数据
status - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
xhr - 包含 XMLHttpRequest 对象
dataType
可选。规定预期的服务器响应的数据类型。
默认地,jQuery 会智能判断。
可能的类型:
"xml" - 一个 XML 文档
"html" - HTML 作为纯文本
"text" - 纯文本字符串
"script" - 以 JavaScript 运行响应,并以纯文本返回
"json" - 以 JSON 运行响应,并以 JavaScript 对象返回
"jsonp" - 使用 JSONP 加载一个 JSON 块,将添加一个 "?callback=?" 到 URL 来规定回调
发送一个 HTTP GET 请求到页面并取回结果:
Document发送一个 HTTP GET 请求并获取返回的结果
$(document).ready(function() {
$("button").click(function(){
$.get("file.php",function(data,status) {
alert("数据:" + data + "\n状态:" + status);
});
});
});
file.php
echo "这是从PHP文件中读取的数据。"
?>
3.jQuery post() 方法:$.post() 方法使用 HTTP POST 请求从服务器加载数据。
语法:$(selector).post(URL,data,function(data,status,xhr),dataType)
参数
描述
URL
必需。规定将请求发送到哪个 URL。
data
可选。规定连同请求发送到服务器的数据。
function(data,status,xhr)
可选。规定当请求成功时运行的函数。
额外的参数:
data - 包含来自请求的结果数据
status - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
xhr - 包含 XMLHttpRequest 对象
dataType
可选。规定预期的服务器响应的数据类型。
默认地,jQuery 会智能判断。
可能的类型:
"xml" - 一个 XML 文档
"html" - HTML 作为纯文本
"text" - 纯文本字符串
"script" - 以 JavaScript 运行响应,并以纯文本返回
"json" - 以 JSON 运行响应,并以 JavaScript 对象返回
"jsonp" - 使用 JSONP 加载一个 JSON 块,将添加一个 "?callback=?" 到 URL 来规定回调
使用 HTTP POST 请求从服务器加载数据:
.jQuery load() 方法: 从服务器加载数据,并把返回的数据放置到指定的元素中。
注意:还存在一个名为 load 的 jQuery 事件方法。调用哪个,取决于参数。语法:$(selector).load(url,data,function(response,status,xhr))\
参数
描述
url
必需。规定您需要加载的 URL。
data
可选。规定连同请求发送到服务器的数据。
function(response,status,xhr)
可选。规定 load() 方法完成时运行的回调函数。
额外的参数:
response - 包含来自请求的结果数据
status - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
xhr - 包含 XMLHttpRequest 对象
实例:把文件 "test.txt" 的内容加载到指定的
使用jQuery AJAX修改文本内容
获取外部内容
$(document).ready(function(){
$("button").click(function(){
$("#div1").load('test.txt')
});
});
3.