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


可选。规定当请求成功时运行的函数。

额外的参数:



  • data​ - 包含来自请求的结果数据
  • status​ - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
  • xhr​ - 包含 XMLHttpRequest 对象



dataType

即:type


可选。规定预期的服务器响应的数据类型。

默认地,jQuery 会智能判断。

可能的类型:



  • "xml" - 一个 XML 文档
  • "html" - HTML 作为纯文本
  • "text" - 纯文本字符串
  • "script" - 以 JavaScript 运行响应,并以纯文本返回
  • "json" - 以 JSON 运行响应,并以 JavaScript 对象返回
  • "jsonp" - 使用 JSONP 加载一个 JSON 块,将添加一个 "?callback=?" 到 URL 来规定回调


示例

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)

可选。规定当请求成功时运行的函数。

额外的参数:



  • 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 来规定回调


示例:

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>