jQuery get()/post() 方法

$.get() 与 $.post() 是 jQuery 提供的两个全局 AJAX 快捷方法,分别对应 HTTP 的 GET 与 POST 请求。它们以服务器返回的数据内容为中心(文本、HTML 或 JSON 皆可),非常适合调用接口、提交表单、异步校验等日常开发。

$.get() 语法与示例

语法:$.get(url, data, callback)。data 会拼接到 URL 查询串中,适合读取操作:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://example.com/jquery.min.js"></script>
<!-- 说明:https://example.com 为占位域名,实际使用请替换为本地 jquery.min.js 或官方 CDN -->
</head>
<body>
<button id="btn">获取城市信息</button>
<p id="box"></p>
<script>
$(function () {
  $("#btn").click(function () {
    // data 会拼成查询串:time.php?city=beijing
    $.get("time.php", { city: "beijing" }, function (data, status) {
      $("#box").text(data);            // 效果:p 中显示服务器返回的文本
      console.log("请求状态:" + status); // 输出:请求状态:success
    });
  });
});
</script>
</body>
</html>

$.post() 语法与示例

语法与 $.get() 几乎一致,区别是 data 通过请求体提交,不暴露在地址栏,适合登录、下单等写操作:

$.post("login.php", { user: "张三", pass: "123456" }, function (data) {
  alert(data); // 效果:弹出服务器返回的结果,如"登录成功"
});

get 与 post 的区别

对比项GETPOST
数据位置URL 查询串请求体
可见性地址栏可见不可见
长度限制有(通常几 KB)基本无限制
缓存可能被浏览器缓存默认不缓存
适用场景查询、读取提交、写入

服务器端配合示例

快捷方法只负责"发送与接收",真正的处理在服务器端。例如上面的 time.php 可以这样写:

<?php
header("Content-Type: text/html; charset=utf-8");
$city = isset($_GET["city"]) ? $_GET["city"] : "未知";
echo "北京时间:" . date("H:i:s") . "," . $city . "欢迎你";
?>

运行结果:页面上显示"北京时间:14:30:22,beijing欢迎你"之类的文本,再被 $.get 的回调取走。

回调参数说明

回调固定接收三个参数:data(服务器返回的数据,JSON 会被自动解析成对象)、status(success/error 等状态字符串)、xhr(请求对象,可读 status、responseText 等)。

小结:$.get() 读数据、$.post() 写数据,参数结构几乎相同,是日常调用接口使用频率最高的两个方法。想在一个方法里精细控制请求头、超时等,就要用后面要学的 $.ajax()。

笔记加载中…