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.status 或 response.ok)。
  • 异步性:AJAX 默认异步执行,避免阻塞页面渲染。

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

相关推荐
IT_陈寒4 分钟前
Vue的数组更新把我坑惨了
前端·人工智能·后端
于航17 分钟前
分层上下文压缩,幻觉检测,错误累积概要
前端
数据掘金19 分钟前
鸿蒙统计的权限弹窗怎么适配?
前端
数据掘金22 分钟前
鸿蒙统计的多设备协同数据怎么打通?
前端
尘中远23 分钟前
Qwt7的曲线渲染平滑实现:高斯卷积、Savitzky-Golay 回归与特征保护
前端
Fly1 小时前
我来提需求,你带着 Codex 做项目:AI 全栈课程开始实战了
前端
集智飞行2 小时前
解决mavros2 ros2版本cpu占用高的问题
java·服务器·前端
HSunR3 小时前
ruoyi 若依 自定义注解 参数校验
java·前端·数据库
拆房老料4 小时前
ONLYOFFICE也能像Microsoft Word和WPS一样分别设置中西文字体
前端·html·word·开源软件·wps
Solis程序员4 小时前
Stripe 幂等表:把「不确定的重试」变成「查表返回」
前端·安全·bootstrap·php·agent