AJAX 简介

什么是 AJAX?

AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML)是一种在 无需重新加载整个网页 的情况下,能够更新部分网页内容的技术。它通过 JavaScript 在后台与服务器进行数据交换,提升用户体验,使网页更加动态和流畅。

尽管名称包含 “XML”,但 AJAX 并不限于 XML 作为数据格式,现在更多使用 JSON 进行数据交互。


AJAX 的核心特点

  1. 异步通信:不会阻塞用户界面,网页可以继续响应用户操作。
  2. 局部更新:无需刷新整个页面,只更新特定部分内容,提高性能。
  3. 减少服务器负担:只传输必要数据,减轻服务器压力。
  4. 支持多种数据格式:如 JSON、XML、HTML、纯文本 等。
  5. 跨浏览器支持:大多数现代浏览器均支持 AJAX(IE6 及更早版本需要特定处理)。

AJAX 的工作流程

  1. 用户操作触发事件(如点击按钮)。
  2. JavaScript 创建 XMLHttpRequest 对象 发送请求到服务器。
  3. 服务器处理请求 并返回数据(JSON、XML 或 HTML)。
  4. JavaScript 解析服务器返回的数据 并更新网页内容。

使用 AJAX 的几种方式

1. 传统 XMLHttpRequest(XHR)方法

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
        console.log(JSON.parse(xhr.responseText)); // 解析 JSON
    }
};
xhr.send();

2. fetch() 方法(现代浏览器推荐)

fetch("https://api.example.com/data")
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error("请求失败:", error));

3. jQuery AJAX 方法

$.ajax({
    url: "https://api.example.com/data",
    type: "GET",
    dataType: "json",
    success: function(data) {
        console.log(data);
    },
    error: function() {
        console.log("请求失败");
    }
});


AJAX 的应用场景

  • 动态表单提交(无需刷新页面提交数据)
  • 自动完成搜索(如 Google 搜索建议)
  • 分页加载数据(如社交媒体的无限滚动)
  • 局部刷新内容(如评论区、天气信息等)

AJAX vs. 传统请求

特性AJAX传统同步请求
是否刷新整个页面❌ 否✅ 是
用户体验✅ 更流畅❌ 可能卡顿
服务器负担✅ 低❌ 高
适合的数据格式JSON, XML, HTMLHTML

总结

  • AJAX 让网页可以 异步获取数据并动态更新页面,极大提高了用户体验。
  • 现代开发中,fetch() API 逐渐取代 XMLHttpRequest
  • JSON 是 AJAX 最常用的数据格式,相比 XML 更轻量、易解析。
  • AJAX 不能直接跨域,需要后端配合(如 CORS 或 JSONP)。

🔹 想深入学习?可以试试自己实现一个 AJAX 搜索框! 🚀