当前位置: 首页 > article >正文

XMLHttpRequest的基础使用

目录

详细介绍:

完整代码:

总结:


这段代码展示了如何使用 XMLHttpRequest 对象实现基础的与服务器进行数据交互。通过这段代码,学习者可以理解如何向服务器发送请求并接收响应。

详细介绍:

  1. HTML部分:在HTML中,我们使用了一个简单的<p>标签来显示从服务器获取的数据。这部分HTML结构非常基础,只包含一个段落元素用于显示数据。

    <p class="my-p"></p>
    
  2. JavaScript部分:核心逻辑是在JavaScript部分实现的。我们使用了 XMLHttpRequest 对象来发起请求,获取服务器返回的数据,并将其显示在页面上。

    • 创建 XMLHttpRequest 对象:首先,通过 new XMLHttpRequest() 创建了一个新的 XMLHttpRequest 对象,这是与服务器进行通信的主要工具。
    const xhr = new XMLHttpRequest();
    
    • 配置请求:使用 xhr.open() 方法配置请求。这里我们指定了请求方法为 GET,并给出了请求的 URL(http://hmajax.itheima.net/api/province),即获取省份数据的API地址。
    xhr.open('GET', 'http://hmajax.itheima.net/api/province');
    
    • 监听 loadend 事件:当请求完成(无论成功与否)时,会触发 loadend 事件。在该事件的回调函数中,我们使用 xhr.response 获取返回的数据。为了将返回的数据呈现给用户,我们先使用 JSON.parse() 将其转换为 JavaScript 对象,然后将 list 数组中的元素渲染到页面中。
    xhr.addEventListener('loadend', () => {
      const data = JSON.parse(xhr.response);
      document.querySelector('.my-p').innerHTML = data.list.join('<br>');
    });
    
    • 发起请求:使用 xhr.send() 发送请求。send() 方法没有参数,因为这是一个 GET 请求,不需要额外的数据发送给服务器。
    xhr.send();
    
  3. 功能实现

    • 数据获取:从 http://hmajax.itheima.net/api/province 获取的数据通常是一个包含省份列表的JSON对象。
    • 数据渲染:当请求完成并且数据成功返回时,data.list 数组中的所有省份名称会被拼接成 <br> 标签分隔的文本,并显示在页面的 <p> 元素中。

完整代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>XMLHttpRequest_基础使用</title>
</head>

<body>

  <p class="my-p"></p>

  <script>
    /**
     * 目标:使用XMLHttpRequest对象与服务器通信
     *  1. 创建 XMLHttpRequest 对象
     *  2. 配置请求方法和请求 url 地址
     *  3. 监听 loadend 事件,接收响应结果
     *  4. 发起请求
    */
   const xhr = new XMLHttpRequest()
   xhr.open('GET','http://hmajax.itheima.net/api/province')
   xhr.addEventListener('loadend', () => {

    // console.log(xhr.response);
    const data = JSON.parse(xhr.response)
    // console.log(data.list.join('<br>'));

    document.querySelector('.my-p').innerHTML = data.list.join('<br>')

   })

   xhr.send()

  </script>
</body>

</html>

总结:

  1. XMLHttpRequest 是实现AJAX(Asynchronous JavaScript and XML)的传统方法之一,允许网页与服务器进行异步通信而无需重新加载页面。
  2. 通过这段代码,学习者可以掌握如何向服务器发送 GET 请求并处理响应数据,进而渲染到页面中。
  3. 学会这种方式后,你可以实现动态数据加载、异步获取数据并实时更新页面内容的功能,极大提升了网页的用户体验。

这段代码简单易懂,适合初学者学习如何使用 XMLHttpRequest 进行数据交互。


http://www.kler.cn/a/538597.html

相关文章:

  • 轻松理解CSS中的float浮动元素
  • 生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 下
  • Qt:项目文件解析
  • 深入解析 FFmpeg 的 AAC 编解码过程
  • iPhone 在华销量大幅下挫
  • 【原创】Android Studio Ladybug 中Gradle配置
  • Linux中,使用C++获取网络摄像头视频流的方式【附带源码示例】
  • 配置 VS Code 调试 ROS Python 脚本:完整步骤
  • 保研考研机试攻略:python笔记(4)
  • 设计模式-生产者消费者模型
  • RPC 如何做到 服务调⽤者可以像调⽤本地接⼝⼀样调⽤远程的服务提供者
  • Rust 测试指南:从入门到进阶
  • DeepSeek-R1-V3(深度求索)和GPT-4o(OpenAI)作为两种不同的AI模型,在PoC编写场景中表现差异显著
  • (五)C++的类继承、多态、组合
  • MYSQL第四次
  • 网络安全-HSTS
  • python3中字符编码的问题
  • c#序列化和反序列化(一)
  • golang 开启HTTP代理认证
  • Spring-RetryTemplate
  • 解构赋值在 TypeScript 中的妙用:以 Babylon.js 的 loadModel 函数为例
  • 优惠券平台(一):基于责任链模式创建优惠券模板
  • 侯捷C++课程学习笔记:从内存管理到面向对象编程的深度探索
  • 分享2款 .NET 开源且强大的翻译工具
  • 在线SQL转JSON-GO在线工具集
  • Visual Studio(VS)初始配置环境(scanf异常)