jQuery -- 知识点回顾篇(五):AJAX 方法
1. $.ajax 方法:用于执行 AJAX(异步 HTTP)请求。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js" ></script>
<script type="text/javascript" >
$(function(){
//语法格式:$.ajax({name:value, name:value, ... })
//该参数规定 AJAX 请求的一个或多个名称/值对。
$("#btn_ajax").click(function(){
$.ajax({
url:"Test_ajax.aspx",
success:function(result){
$("#myDiv1").html(result);
}
});
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="width:210px;height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
2. $.ajaxSetup() 方法:为将来的 AJAX 请求设置默认值。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
//语法格式:$.ajaxSetup({name:value, name:value, ... })
//该参数为带有一个或多个名称/值对的 AJAX 请求规定设置。
$("#btn_ajax").click(function(){
$.ajaxSetup({
url:"Test_ajax.aspx",
success:function(result){
$("#myDiv1").html(result);
}
});
$.ajax();
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="width:210px;height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
3. $.get() 方法:使用 HTTP GET 请求从服务器加载数据。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js" ></script>
<script type="text/javascript" >
$(function(){
//语法格式:$.get(URL,data,function(data,status,xhr),dataType)
//URL: 必需参数。规定您需要请求的 URL。
//data: 可选参数。规定连同请求发送到服务器的数据。
//function(data,status,xhr):可选参数。规定当请求成功时运行的函数。
//dataType:可选参数。规定预期的服务器响应的数据类型。
$("#btn_ajax").click(function(){
$.get("Test_ajax.aspx",function(data){
alert("数据: " + data );
});
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="width:210px;height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
4. $.getJSON() 方法:使用 AJAX 的 HTTP GET 请求获取 JSON 数据。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
$("#btn_ajax").click(function(){
//语法格式: $(selector).getJSON(url,data,success(data,status,xhr))
//url:必需参数。规定将请求发送到哪个 URL。
//data:可选参数。规定发送到服务器的数据。
//success(data,status,xhr):可选参数。规定当请求成功时运行的函数。
$.getJSON("Test_ajax.aspx",function(result){
$("myDiv1").text(result);
});
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="width:210px;height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
5. $.getScript() 方法:使用 AJAX 的 HTTP GET 请求获取和执行 JavaScript。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
$("#btn_ajax").click(function(){
//语法格式: $(selector).getScript(url,success(response,status))
//url: 必需参数。规定将请求发送到哪个 URL。
//success(response,status): 可选参数。规定当请求成功时运行的函数。
$.getScript("Test_ajax_script.js");
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="width:210px;height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
6. $.param() 方法创建数组或对象的序列化表示形式。序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
personObj=new Object();
personObj.name="xiaohuzi";
personObj.age=26;
personObj.web="xiaohuzi.test.com";
//语法格式:$.param(object,trad)
//object: 必需参数。规定要序列化的数组或对象。
//trad: 可选参数。布尔值,指定是否使用参数序列化的传统样式。
$("#btn_ajax").click(function(){
$("#myDiv1").text($.param(personObj));
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
7. $.post() 方法:使用 HTTP POST 请求从服务器加载数据。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
//语法格式:$(selector).post(URL,data,function(data,status,xhr),dataType)
//URL: 必需参数。规定将请求发送到哪个 URL。
//data: 可选参数。规定连同请求发送到服务器的数据。
//function(data,status,xhr): 可选参数。规定当请求成功时运行的函数。
//dataType: 可选参数。规定预期的服务器响应的数据类型。
$("#btn_ajax").click(function(){
$.post("Test_ajax.aspx",function(data){
alert("Data: " + data );
});
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
8. ajaxComplete() 方法:规定 AJAX 请求完成时运行的函数。
ajaxStart() 方法:规定 AJAX 请求开始时运行的函数。
ajaxSend() 方法:规定 AJAX 请求即将发送时运行的函数。
ajaxError() 方法:规定 AJAX 请求失败时运行的函数。
ajaxStop() 方法:规定所有的 AJAX 请求完成时运行的函数。
ajaxSuccess() 方法:规定 AJAX 请求成功完成时运行的函数。
load() 方法:从服务器加载数据,并把返回的数据放置到指定的元素中。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
//语法格式:$(document).ajaxSend(function(event,xhr,options))
//function(event,xhr,options) 必需。规定当请求成功时运行的函数。
$(document).ajaxSend(function(){
$("#myDiv1").css("border","5px solid pink");
});
//语法格式:$(document).ajaxStart(function())
//function(): 必需参数。规定当 AJAX 请求开始时运行的函数。
$(document).ajaxStart(function(){
$("#myDiv1").css("display","block");
});
//语法格式:$(document).ajaxStop(function())
//function(): 必需参数。规定所有的 AJAX 请求完成时运行的函数。
$(document).ajaxStop(function(){
$("#myDiv1").css("border","3px solid green");
});
//语法格式:$(document).ajaxError(function(event,xhr,options,exc))
//function(event,xhr,options,exc):必需参数。规定当请求失败时运行的函数。
$(document).ajaxError(function(){
$("#myDiv1").css("border","3px solid red");
});
//语法格式:$(document).ajaxSuccess(function(event,xhr,options))
//function(event,xhr,options): 必需参数。规定如果请求成功时运行的函数。
$(document).ajaxSuccess(function(){
$("#myDiv1").css("border","3px solid yellow");
});
//语法格式:$(document).ajaxComplete(function(event,xhr,options))
//function(event,xhr,options): 必需参数。规定当请求完成时运行的函数。
$(document).ajaxComplete(function(){
$("#myDiv1").css("display","none");
}); //语法格式:$(selector).load(url,data,function(response,status,xhr))
//url:必需参数。规定您需要加载的 URL。
//data:可选参数。规定连同请求发送到服务器的数据。
//function(response,status,xhr):可选参数。规定 load() 方法完成时运行的回调函数。
$("#btn_ajax").click(function(){
$("#txt").load("Test_ajax.aspx");
});
});
</script>
</head>
<body>
<button type="button" id="btn_ajax">ajax</button>
<div id="myDiv1" style="height:30px;padding: 10px;border:2px solid blue;">
</div>
</body>
</html>
9. serialize() 方法:通过序列化表单值创建 URL 编码文本字符串。
serializeArray() 方法:通过序列化表单值来创建对象(name 和 value)的数组。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>My Test JQuery</title>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
$(function(){
//语法格式:$(selector).serialize()
//您可以选择一个或多个表单元素(如输入和/或文本区),或表单元素本身。
//序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。
$("#btn_serialize").click(function(){
$("#myDiv1").text($("form").serialize());
});
//语法格式:$(selector).serializeArray()
//serializeArray() 方法通过序列化表单值来创建对象(name 和 value)的数组。
//您可以选择一个或多个表单元素(如输入和/或文本区),或表单元素本身。
$("#btn_serializeArray").click(function(){
x=$("form").serializeArray();
$.each(x, function(i, field){
$("#myDiv2").append(field.name + ":" + field.value + " ");
});
});
});
</script>
</head>
<body>
<form action="">
姓名: <input type="text" name="Name" value="XiaoHuzi" /><br>
年龄: <input type="text" name="Age" value="26" /><br>
工作: <input type="text" name="Job" value="IT" /><br>
</form>
<button type="button" id="btn_serialize">serialize</button>
<button type="button" id="btn_serializeArray">serializeArray</button>
<div id="myDiv1" style="height:30px;padding: 10px;border:2px solid blue;">
</div>
<div id="myDiv2" style="height:30px;padding: 10px;border:2px solid green;">
</div>
</body>
</html>