一、jQuery - AJAX 简介
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
二、jQuery - AJAX的常用方法
load() | 从服务器加载数据,并把返回的数据放置到指定的元素中 |
---|
语法
$(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 对象 |
定义和用法
ajax() 方法用于执行 AJAX(异步 HTTP)请求。
所有的 jQuery AJAX 方法都使用 ajax() 方法。该方法通常用于其他方法不能完成的请求。
语法
$.ajax({name:value, name:value, ... })
url | 规定发送请求的 URL。默认是当前页面。 |
---|
type | 规定请求的类型(GET 或 POST)。 |
data | 规定要发送到服务器的数据。 |
dataType | 预期的服务器响应的数据类型。 |
success(result,status,xhr) | 当请求成功时运行的函数。 |
async | 布尔值,表示请求是否异步处理。默认是 true。 |
error(xhr,status,error) | 如果请求失败要运行的函数。 |
$.get() | 使用 AJAX 的 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 来规定回调 |
$.post() | 使用 AJAX 的 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 来规定回调 |
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jquery ajax</title>
<script type="text/javascript" src="js/jquery-3.5.1.js"></script>
<script type="text/javascript">
$(function(){
$("#but1").click(function(){
$("#div1").load("http://localhost:8080/JqueryAjax/main",
function(resp,status){
if(status=="success"){
$("div").html("<table border='1px' width='500px'></table>");
var jsonobj=eval("("+resp+")");
$(jsonobj).each(function(index,element){
var tdstring="<td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td>";
$("table").append($('<tr></tr>').html(tdstring));
});
}
});
});
$("#but2").click(function(){
$.ajax({
url:"http://localhost:8080/JqueryAjax/main",
type:"GET",
dataType:"json",
success:function(resp,status){
$("#main1").empty();
$(resp).each(function(index,element){
var trstring="<tr><td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td></tr>";
$("#main1").append(trstring);
});
},
async:true,
error:function(){}
});
});
$("#but3").click(function(){
var userid=$("#text1").val();
var urlString="http://localhost:8080/JqueryAjax/findOne?userid="+userid;
$.ajax({
url:urlString,
type:"GET",
dataType:"json",
success:function(resp,status){
$("#main1").empty();
$(resp).each(function(index,element){
var trstring="<tr><td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td></tr>";
$("#main1").append(trstring);
});
},
async:true,
error:function(){}
});
});
$("#but4").click(function(){
$.ajax({
url:"http://localhost:8080/JqueryAjax/main",
type:"POST",
dataType:"json",
success:function(resp,status){
$("#main1").empty();
$(resp).each(function(index,element){
var trstring="<tr><td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td></tr>";
$("#main1").append(trstring);
});
},
async:true,
error:function(){}
});
});
$("#but5").click(function(){
var userid=$("#text1").val();
$.ajax({
url:"http://localhost:8080/JqueryAjax/findOne",
type:"POST",
data:{userid:userid},
dataType:"json",
success:function(resp,status){
$("#main1").empty();
$(resp).each(function(index,element){
var trstring="<tr><td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td></tr>";
$("#main1").append(trstring);
});
},
async:true,
error:function(){}
});
});
$("#but6").click(function(){
$.get("http://localhost:8080/JqueryAjax/main",
function(resp,status){
$("#main2").empty();
$(resp).each(function(index,element){
var trstring="<tr><td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td></tr>";
$("#main2").append(trstring);
});
},
"json");
});
$("#but7").click(function(){
$.post("http://localhost:8080/JqueryAjax/main",
function(resp,status){
$("#main2").empty();
$(resp).each(function(index,element){
var trstring="<tr><td>"+element.userid+
"</td><td>"+element.username+
"</td><td>"+element.userage+
"</td><td>"+element.useraddress+
"</td></tr>";
$("#main2").append(trstring);
});
},
"json");
});
});
</script>
</head>
<body>
<center>
<input id="but1" type="button" value="测试load"/>
<div id="div1"></div>
<hr>
<input id="but2" type="button" value="测试ajax-get"/>
<input id="but3" type="button" value="测试ajax-get带参数"/><br>
<input id="text1" type="text" /><br>
<input id="but4" type="button" value="测试ajax-post"/>
<input id="but5" type="button" value="测试ajax-post带参数"/>
<table id="main1" border="1px" width="500px"></table>
<hr>
<input id="but6" type="button" value="测试get"/>
<input id="but7" type="button" value="测试post"/>
<table id="main2" border="1px" width="500px"></table>
</center>
</body>
</html>