切换导航
简历
工具
演示
查询
导航菜单
服务端
30
前端
114
数据库
82
进阶开发
8
桌面程序
2
QA
15
软件使用
36
规范协议
5
操作系统
11
AI
0
复用资源
6
硬件
0
标签
HTML
正则表达式
Json
包管理工具
vite
CSS
XPath
JavaScript
Jquery
less
ES6
Vue
React
vue 3
Layui
editor.md
sea.js
Zepto.js
mysql.js
mssql.js
NodeJs
Express
前端template
YAML
杂项
外部链接
.NET Core SDK和运行时安装包
淘宝 NPM 镜像
查询网
Tables Generator线上表格转换工具
引用cdn在线脚本和样式
首页
前端
JS 网络请求 Fetch API
[TOC] ## 1. JS 网络请求 Fetch API Fetch API 是现代浏览器提供的一种用于网络请求的 JavaScript API,基于 Promise 设计,用于替代传统的 XMLHttpRequest,提供更简洁、灵活的方式来发送 HTTP 请求和处理响应。 **示例:** ```javascript fetch('https://api.example.com/data', { method: 'GET', // 添加请求头 headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer your_token_here', 'Custom-Header': 'custom_value' } }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error)); ``` ### 1.1. 请求头设置 在 Fetch API 中设置请求头需要使用对象属性`headers` ## 2. Fetch API 与 Ajax 的区别 它与 AJAX 的主要区别如下: |对比|AJAX|Fetch API| |--|--| |技术本质|AJAX 是一种异步请求的技术概念,核心实现是 XMLHttpRequest 对象|Fetch API 是具体的 API 规范,是实现 AJAX 功能的一种现代方式| |语法风格|AJAX 使用回调函数处理异步操作,容易产生"回调地狱"|Fetch 基于 Promise,支持链式调用和 async/await 语法,代码更清晰| |默认行为|XMLHttpRequest 会自动携带同源 cookies|Fetch 默认不发送 cookies,需要手动配置 credentials 选项| |错误处理|AJAX 可以通过 status 状态码直接判断错误|Fetch 只有网络错误才会 reject,HTTP 错误状态(如 404、500)不会触发 reject| |响应处理|AJAX 的 responseText/responseXML 可以直接获取解析结果|Fetch 需要通过调用 .json()、.text() 等方法手动解析响应体| **简单示例对比:** + AJAX 示例: ```javascript const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.example.com/data'); xhr.onload = function() { if (xhr.status === 200) { console.log(JSON.parse(xhr.responseText)); } else { console.error('请求失败'); } }; xhr.send(); ``` + Fetch 示例: ```javascript fetch('https://api.example.com/data') .then(response => { if (!response.ok) { throw new Error('请求失败'); } return response.json(); }) .then(data => console.log(data)) .catch(error => console.error(error)); ``` 总的来说,Fetch API 是 AJAX 技术的现代替代方案,提供了更符合现代 JavaScript 语法的 API 设计,但在兼容性和某些细节处理上与传统 XMLHttpRequest 有所不同。
扫一扫手机看
点击排行
windows 文件资源管理器使用
Layui 弹窗open使用说明
SQL Server 中字符串函数使用
C# 使用QQ邮箱代理做邮件接收功能
SQL Server关于apply的两种形式cross apply 和 outer apply
ASP.NET MVC 模型的自定义验证
nvm安装及常用命令
SQL Server 中数据类型转换
SQL Server 中WITH AS短语的使用
IE浏览器下AJAX缓存问题导致数据不更新的解决办法
订阅号