Ajax的相关内容

一、Ajax的使用步骤

1.创建XML对象

const xhr=new XMLHttpRequest();

2.监听事件,处理响应

3.准备发送请求 true表示异步 ajax中永远是异步,永远是true

4.发送请求

二、GET和POST请求

三、JSON的三种形式

四、JSON的方法

五、跨域

六、XHR的属性和方法

七、FormData

八、axios

九、Fetch

十、axios和fetch区别

Axios 和 Fetch 都是用于在 JavaScript 中执行 HTTP 请求的工具,但它们有显著的区别和各自的特点。

Axios

  1. 定义与来源

• Axios 是一个基于 Promise 的 HTTP 客户端库,支持浏览器和 Node.js 环境。

• 是一个第三方库,需要通过 npm 或 CDN 引入使用。

  1. 主要特点

• 默认支持JSON处理:

• 请求数据会自动序列化为 JSON。

• 响应数据也会被自动解析为 JSON。

• 内置功能强大:

• 支持拦截器,可以在请求或响应前后添加逻辑(如鉴权、错误处理)。

• 自动管理请求的 headers。

• 自动处理 CSRF 保护(如果后端支持相关机制)。

• 易于处理错误:

• 在非 2xx 状态码下,Axios 会自动抛出异常,便于集中处理。

• 跨浏览器兼容性更好:

• Axios 在旧版浏览器中表现更稳定,因为它使用了 XMLHttpRequest,并封装了许多兼容性问题。

import axios from 'axios';

axios.get('https://api.example.com/data')

.then(response => console.log(response.data))

.catch(error => console.error(error));

Fetch

  1. 定义与来源

• Fetch 是浏览器内置的原生 API,基于 Promise,用于执行 HTTP 请求。

• 不需要引入额外的库,现代浏览器原生支持。

  1. 主要特点

• 轻量且原生:

• 直接使用,无需额外依赖。

• 灵活性高:

• 更接近底层,允许开发者控制请求的每个细节。

• 处理 JSON 需要手动解析:

• 响应默认返回 Response 对象,数据需要手动 .json() 转换。

• 错误处理有限:

• 只有在网络错误时才会抛出异常,4xx 和 5xx 状态码不会自动作为错误,需要手动检查。

• 不支持自动取消请求(可结合 AbortController 实现)。

fetch('https://api.example.com/data')

.then(response => {

if (!response.ok) {

throw new Error(`HTTP error! status: ${response.status}`);

}

return response.json();

})

.then(data => console.log(data))

.catch(error => console.error(error));

关系

• Axios 是对 Fetch 和 XMLHttpRequest 的封装:它封装了许多常见的场景(如拦截器、取消请求),使 HTTP 请求更便捷和一致。

• Fetch 是标准 API:作为现代浏览器的原生 API,Fetch 提供了底层的灵活性,但缺乏一些高级功能。

相关推荐
徐小夕3 小时前
JitArchives,一款基于JitWord协同AI文档打造的企业级电子档案系统
前端·vue.js·github
陈随易3 小时前
Node.js 2026上半年都有哪些性能提升?
前端·后端·程序员
墨林陌3 小时前
AI 热点日报(2026-11-09):苹果代理式Siri曝光,Anthropic推进IPO,编码智能体实测翻车
前端
vipxieliang3 小时前
JavaScript 迭代器与生成器:控制异步与惰性求值
前端·javascript
Hilaku3 小时前
Event Loop 这篇你看完就不用再看别的了!
前端·javascript·程序员
恋猫de小郭4 小时前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
晓得迷路了4 小时前
栗子前端技术周刊第 153 期 - Vitest 5.1、Remix v3.2、Node.js 27 Alpha...
前端·javascript·vite
系统集成-鹰翔5 小时前
ERP单据已作废为什么商品仍不能删除,引用检查与软删除怎么查
javascript·经验分享·后端
Moment5 小时前
Harness Engineering 为什么是 AI Coding 的工程底座 ❓❓❓
前端·后端·面试