简单搭建Ajax基础应用

news/2025/10/7 16:43:14/文章来源:https://www.cnblogs.com/yxysuanfa/p/19128612

Ajax不是一种技术,而是一个编程概念。HTML 和 CSS 可以组合使用来标记和设置信息样式。JavaScript 可以修改网页以动态显示,并允许用户与新信息进行交互。内置的 XMLHttpRequest 对象用于在网页上执行 Ajax,允许网站将内容加载到屏幕上而无需刷新页面。Ajax不是一种新技术,也不是一种新语言。相反,它是以新方式使用的现有技术。

在创造“Ajax”一词的文章中, 杰西·詹姆斯·加勒特解释说,以下技术被整合在一起:

  • 用于演示的HTML(或 XHTML)和 CSS
  • 文档对象模型(DOM),用于动态显示数据并与之交互
  • 用于数据交换的 JSON 或 XML,以及用于 XML 操作的 XSLT
  • 用于异步通信的XMLHttpRequest对象
  • 将这些技术结合在一起的JavaScript

下面为你介绍 AJAX 的基础应用,我会通过原生 JavaScript 和 Fetch API 两种方式来实现一个简单的示例。

1. 原生 XMLHttpRequest 方式

步骤解析

  1. 创建 XMLHttpRequest 对象。
  2. 打开与服务器的连接。
  3. 监听请求状态的变化。
  4. 发送请求。
  5. 处理响应数据。

示例代码

// 创建XMLHttpRequest对象const xhr = new XMLHttpRequest(); // 配置请求(以GET请求为例)xhr.open('GET', 'https://api.example.com/data', true); // 监听状态变化xhr.onreadystatechange = function() {  if (xhr.readyState === 4) { // 请求已完成    if (xhr.status === 200) { // 请求成功      console.log('响应数据:', xhr.responseText);    } else {      console.error('请求失败,状态码:', xhr.status);    }  }}; // 发送请求xhr.send();

2. Fetch API 方式(现代方法)

步骤解析

  1. 使用 fetch () 函数发起请求。
  2. 处理 Promise 对象。
  3. 将响应数据解析为 JSON 格式。
  4. 处理解析后的数据。

示例代码

// 发起GET请求fetch('https://api.example.com/data')  .then(response => {    if (!response.ok) {      throw new Error('HTTP错误,状态码:' + response.status);    }    return response.json(); // 解析JSON数据  })  .then(data => {    console.log('响应数据:', data);  })  .catch(error => {    console.error('请求出错:', error);  });

3. 实际应用示例

下面是一个结合 HTML 和 Fetch API 的完整示例,它能够从 GitHub API 获取用户信息并展示出来:

    AJAX示例           document.getElementById('fetchData').addEventListener('click', function() {      // 使用Fetch API发送请求      fetch('https://api.github.com/users/octocat')        .then(response => response.json())        .then(data => {          // 处理返回的数据          const resultDiv = document.getElementById('result');          resultDiv.innerHTML = `            ${data.login}                        关注者: ${data.followers}            仓库数量: ${data.public_repos}          `;        })        .catch(error => {          console.error('请求出错:', error);          document.getElementById('result').innerHTML = '获取数据失败';        });    });

4. 关键要点提醒

  • 跨域请求:由于浏览器的同源策略限制,AJAX 通常只能向同源的服务器发送请求。不过,可以通过 CORS(跨域资源共享)或者 JSONP 来解决跨域问题。
  • 错误处理:在实际应用中,必须对网络错误、超时等异常情况进行处理。
  • 请求方法:支持 GET、POST、PUT、DELETE 等多种 HTTP 请求方法。
  • 数据格式:常见的数据格式有 JSON、XML、纯文本等。

通过上述示例,你可以实现简单的 AJAX 请求。在实际的项目开发中,建议使用 axios 等第三方库,它能提供更强大的功能和更友好的 API。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改注册表,实现电脑小键盘开机自启(NumLock灯常亮)

每次开机,小键盘(NumLock键)都需要手动开启才能使用。现分享一套只需通过修改注册表,就能让小键盘开机自启的方案。无需调整BIOS,快来看看吧。 1、打开注册表 首先 Win + R 同时按,打开运行,接着输入 regedit …

网站建设开票税收分类奇缦科技珠海网站建设优化

作者:CSDN @ _养乐多_ 本文详细记录了从Excel读取用于训练机器学习模型的数据,包括独立变量和因变量数据,以供用于机器学习模型的训练。这些机器学习模型包括但不限于随机森林回归模型(RF)和支持向量机回归模型(SVM)。随后,我们将测试数据集应用于这些模型,进行预测和…

06627网页制作和网站建设淘宝 网站开发 退货

工业以太网由于其固有的可靠性、高性能和互操作性,已经渗透到工厂车间,成为自动化和控制系统的首选通信协议。近年,工业以太网的市场份额已经超过了传统的现场总线协议,总线协议通常需要多个独立和专有的布线设施。为了满足工业环…

旅游包车网站最新模板东莞常平医院网站建设

目录 观察者模式(Observer Pattern) 实际应用 股票价格监控系统 发布-订阅系统 总结 观察者模式(Observer Pattern) 观察者模式是一种行为型设计模式,它定义了对象间的一对多依赖关系。当一个对象的状态发生改变…

多Agent协作入门:基于A2A协议的Agent通信

本文介绍了A2A的基本概念以及和MCP的关系,然后通过一个Hello World案例介绍了如何快速开始一个A2A Demo,相信我们可以有一个快速的感性认识。大家好,我是Edison。 之前我们学习了Semantic Kernel中的一些常见的编排…

完整教程:nav2笔记-250603

完整教程:nav2笔记-250603pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

MCP gateway

Top 5 MCP Gateways of 2025 https://www.truefoundry.com/blog/best-mcp-gateways Real-world deployment data reveals significant differences between marketing claims and production performance. Based on te…

点云的遮挡剔除

点云的遮挡剔除点云的遮挡剔除

在线视频下载网站如何做泸州大浪科技做网站

https://www.lucidchart.com/pages/signup?utm_expid39895073-174.qKyHpBEbQS26y86OArD-rQ.1 https://www.processon.com/

English of root for May 30th - 详解

English of root for May 30th - 详解2025-10-07 16:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

门户网站指的是什么个人旅游网站建设方案

核心提示:在普拉纳夫看来,数字信息以像素的形式被限制在显示屏幕之中。他发明的"第六感装置"震惊全场,让世界为之惊叹。 MIT(麻省理工)印度裔学生Prarnav Mistry的天才发明:“第六感装置” 视频地址:http://v.youku.com…

招商加盟网站开发腾讯竞价广告

来源:未来智能实验室 互联网云脑逐渐清晰,AI与互联网结合引发AI威胁论 从科学史可以看到这样一个规律:每一次人类社会的重大技术变革都会导致新领域的科学革命。互联网革命对于人类的影响已经远远超过了大工业革命。与工业革命增强人类的力量…

建设网站河北石家庄的大学

对数据库的各项应用与操作都离不开SQL来对数据进行增删改查。 例如 : 有一张某公司职员信息表如下: 需求1:在公司职员信息表中,请统计各部门,各岗位下的员工人数。 如果这个SQL语句不会写或者不知道怎么操作可以交给…

国内权重网站排名网站备案接入商名称

上次给大家推荐了10个宝藏网站(http://t.csdnimg.cn/qcRWY),这次我又来啦! 话不多说,直接开始! 先收藏,防止以后找不到了! 整理不易,顺便把赞留下吧! 1. 爱…

时尚产品需求预测与库存优化模型解析

本文介绍了一种联合品类规划与库存管理的创新模型,通过马尔可夫链选择模型抽象客户决策过程,解决了时尚产品需求预测中的替代品效应和动态库存规划难题。开发满足多元品味的时尚产品模型 在线零售商持续面临的挑战是…

什么好的设计网站ppt做杂志模板下载网站有哪些

目录 一、使用场景 二、第一种方式:创建具有超时功能且绑定死信交换机的消息队列 三、第二种方式:创建通用延时消息 四、第三种方式:使用rabbitmq的延时队列插件,实现同一个队列中有多个不同超时时间的消息,并按时间…

自制带得分和推荐走法的象棋视频

① 到东萍象棋网可以下载许多棋谱。我用程序下载了1万多个推荐的,grep -v (--invert-match)去掉了和棋的,还有6813个。bash+wget干的,python的连不通(要送user-agent?) pu.txt 6813行,形如:河北金环建设象棋队-…

装修网站是怎么建设的排名检测

刚开始学create table的时候没注意,学到后面发现可以指定默认值。于是写了如下语句: 当我查询的时候发现,查出来的结果是这样的。。 很纳闷有没有,我明明指定默认值了呀,为什么创建出来的表还是空的呢?又跑…

慈溪企业排名网站怎么做点击图片跳转网站

背景 Prompt flow和LangChain都是LLM时代,为高效地构建LLM应用而生。 Prompt flow是Microsoft开源的,其诞生时,LangChain已经很有名气了。 所以作为后生的Prompt flow会为我们带来哪些新的东西呢? ​​​​​​​ Prompt flo…

C++ list数据删除、list资料访问、list反转链表、list数据排序

C++ list数据删除、list资料访问、list反转链表、list数据排序pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Con…