get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。
HTTP 请求:GET vs. POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
- GET - 从指定的资源请求数据
- POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
$.get() 方法
这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。语法:
$.get(url,[data],[callback],[type]);
传递的数据类型:String,Map,Function,String
参数 | 描述 |
URL | 必需。规定您需要请求的 URL。 |
data | 可选。规定连同请求发送到服务器的数据。 |
function(data,status,xhr) 即:callback | 可选。规定当请求成功时运行的函数。 额外的参数:
|
dataType 即:type | 可选。规定预期的服务器响应的数据类型。 默认地,jQuery 会智能判断。 可能的类型:
|
示例
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="jQuery/jquery-3.4.1.js"></script>
<script type="text/javascript">
$(function () {
$("input").click(function () {
$.get("files/c.html",function (data,status) {
document.getElementById("testDiv").innerHTML = data+" "+status;
});
});
});
</script>
</head>
<body>
<input type="button" id="send" value="ajax获取"/>
<div id="testDiv"></div>
</body>
</html>
c.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>123456</p>
<h1 id="p1">456789</h1>
</body>
</html>
$.post() 方法
通过远程 HTTP POST 请求载入信息。
这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
jQuery 1.12 中 jQuery.post 和 jQuery.get 支持对象参数,这样一来好处还比较多,比如设置回调函数的context,或者跨域 post 时可以withCredential: true。
语法:
$.post(URL,data,function(data,status,xhr),dataType)
参数 | 描述 |
URL | 必需。规定将请求发送到哪个 URL。 |
data | 可选。规定连同请求发送到服务器的数据。 |
function(data,status,xhr) | 可选。规定当请求成功时运行的函数。 额外的参数:
|
dataType | 可选。规定预期的服务器响应的数据类型。 默认地,jQuery 会智能判断。 可能的类型:
|
示例:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="jQuery/jquery-3.4.1.js"></script>
<script type="text/javascript">
$(function () {
$("input").click(function () {
$.post("files/c.html",function (data,status) {
document.getElementById("testDiv").innerHTML = data+" "+status;
})
});
});
</script>
</head>
<body>
<input type="button" id="send" value="ajax获取"/>
<div id="testDiv"></div>
</body>
</html>
c.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>123456</p>
<h1 id="p1">456789</h1>
</body>
</html>