AJAX 基础实例

AJAX 基础实例

AJAX(Asynchronous JavaScript and XML)允许网页在不重新加载的情况下与服务器交换数据。以下是一个简单的 AJAX 示例,使用原生 JavaScript 实现。

HTML 部分

创建一个按钮和用于显示结果的 <div>

html 复制代码
<button onclick="loadData()">加载数据</button>
<div id="result"></div>

JavaScript 部分

使用 XMLHttpRequest 对象发送请求并处理响应:

javascript 复制代码
function loadData() {
  const xhr = new XMLHttpRequest();
  xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);

  xhr.onload = function() {
    if (xhr.status === 200) {
      document.getElementById("result").innerHTML = 
        `标题: ${JSON.parse(xhr.responseText).title}`;
    } else {
      console.error("请求失败");
    }
  };

  xhr.send();
}

jQuery AJAX 实例

使用 jQuery 简化 AJAX 调用,代码更简洁。

引入 jQuery

在 HTML 头部添加:

html 复制代码
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

jQuery 代码

javascript 复制代码
$("button").click(function() {
  $.get("https://jsonplaceholder.typicode.com/posts/1", function(data) {
    $("#result").text(`标题: ${data.title}`);
  }).fail(function() {
    console.error("请求失败");
  });
});

Fetch API 实例

现代浏览器支持的 fetch 方法,基于 Promise 实现。

JavaScript 代码

javascript 复制代码
async function loadData() {
  try {
    const response = await fetch("https://jsonplaceholder.typicode.com/posts/1");
    if (!response.ok) throw new Error("请求失败");
    const data = await response.json();
    document.getElementById("result").innerHTML = `标题: ${data.title}`;
  } catch (error) {
    console.error(error);
  }
}

关键点说明

  • 跨域问题:若请求非当前域名下的接口,需确保服务器支持 CORS(如示例中的 JSONPlaceholder)。
  • 错误处理 :始终检查响应状态码(如 xhr.statusresponse.ok)。
  • 异步性:AJAX 默认异步执行,避免阻塞页面渲染。

通过以上示例,可根据需求选择原生 JavaScript、jQuery 或 Fetch API 实现 AJAX 功能。

相关推荐
kyriewen18 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒18 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮19 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦19 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer19 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队19 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY19 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_20 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏20 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站20 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控