JavaScript Fetch API

简介

fetch() API 是用于发送 HTTP 请求的现代异步方法,它基于 Promise,比传统的 XMLHttpRequest 更加简洁、强大

示例

基本语法

fetch(url, options).then(response => response.json()).then(data => console.log(data)).catch(error => console.error("请求错误:", error));
  • url:请求的地址(必须)
  • options:可选的配置对象(如请求方法、头部信息、数据等)
  • fetch() 返回一个 Promise<Response> 对象

最简单的示例

fetch("https://jsonplaceholder.typicode.com/posts/1").then(response => response.json()) // 解析 JSON.then(data => console.log("获取的数据:", data)).catch(error => console.error("请求错误:", error));

如何解析响应

fetch("https://jsonplaceholder.typicode.com/posts/1").then(response => {console.log("状态码:", response.status);console.log("响应头:", response.headers.get("Content-Type"));return response.text(); // 或者 response.json(), response.blob()}).then(data => console.log("响应内容:", data)).catch(error => console.error("请求错误:", error));

常用解析方式:

  • response.json():解析 JSON 数据
  • response.text():解析文本数据
  • response.blob():解析二进制数据(图片、文件)
  • response.arrayBuffer():解析底层二进制数据
  • response.formData():解析表单数据

发送 POST 请求

fetch("https://jsonplaceholder.typicode.com/posts", {method: "POST",headers: {"Content-Type": "application/json"},body: JSON.stringify({title: "foo",body: "bar",userId: 1})
}).then(response => response.json()).then(data => console.log("返回的数据:", data)).catch(error => console.error("请求错误:", error));

使用 async/await 方式

async function fetchData() {try {let response = await fetch("https://jsonplaceholder.typicode.com/posts/1");if (!response.ok) throw new Error(`HTTP 错误: ${response.status}`);let data = await response.json();console.log(data);} catch (error) {console.error("请求失败:", error);}
}
fetchData();

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

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

相关文章

UMI-OCR Docker 部署

额外补充 Docker 0.前置条件 部署前&#xff0c;请检查主机的CPU是否具有AVX指令集 lscpu | grep avx 输出如下即可继续部署 Flags: ... avx ... avx2 ... 1.下载dockerfile wget https://raw.githubusercontent.com/hiroi-sora/Umi-OCR_runtime_linux/main/Do…

C++ --- 二叉搜索树

1 二叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它或者是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树: 1 若它的左⼦树不为空&#xff0c;则左⼦树上所有结点的值都⼩于等于根结点的值 2 若它的右⼦树不为空&#xff0c;则右⼦树上所有结点的值都⼤于等于根结点…

跨语言语言模型预训练

摘要 最近的研究表明&#xff0c;生成式预训练在英语自然语言理解任务中表现出较高的效率。在本研究中&#xff0c;我们将这一方法扩展到多种语言&#xff0c;并展示跨语言预训练的有效性。我们提出了两种学习跨语言语言模型&#xff08;XLM&#xff09;的方法&#xff1a;一种…

文件描述符,它在哪里存的,exec()后还存在吗

学过计系肯定了解 寄存器、程序计数器、堆栈这些 程序运行需要的资源。 这些是进程地址空间。 而操作系统分配一个进程资源时&#xff0c;分配的是 PCB 进程控制块。 所以进程控制块还维护其他资源——程序与外部交互的资源——文件、管道、套接字。 文章目录 文件描述符进程管…

Slidev使用(一)安装

文章目录 1. **安装位置**2. **使用方式**3. **适用场景**4. **管理和维护** 全局安装1. **检查 Node.js 和 npm 是否已安装**2. **全局安装 Slidev CLI**3. **验证安装是否成功**4. **创建幻灯片文件**5. **启动 Slidev**6. **实时编辑和预览**7. **构建和导出&#xff08;可选…

第二十一章:模板与继承_《C++ Templates》notes

模板与继承 重点和难点编译与测试说明第一部分&#xff1a;多选题 (10题)第二部分&#xff1a;设计题 (5题)答案与详解多选题答案&#xff1a;设计题参考答案 测试说明 重点和难点 21.1 空基类优化&#xff08;EBCO&#xff09; 知识点 空基类优化&#xff08;Empty Base Cla…

AOA与TOA混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用EKF

本代码实现了一个基于 到达角(AOA) 和 到达时间(TOA) 的混合定位算法,结合 扩展卡尔曼滤波(EKF) 对三维运动目标的轨迹进行滤波优化。代码通过模拟动态目标与基站网络,展示了从信号测量、定位解算到轨迹滤波的全流程,适用于城市峡谷、室内等复杂环境下的定位研究。 文…

量子计算:开启未来计算的新纪元

一、引言 在当今数字化时代&#xff0c;计算技术的飞速发展深刻地改变了我们的生活和工作方式。从传统的电子计算机到如今的高性能超级计算机&#xff0c;人类在计算能力上取得了巨大的进步。然而&#xff0c;随着科技的不断推进&#xff0c;我们面临着越来越多的复杂问题&…

AMD机密计算虚拟机介绍

一、什么机密计算虚拟机 机密计算虚拟机 是一种基于硬件安全技术(如 AMD Secure Encrypted Virtualization, SEV)的虚拟化环境,旨在保护虚拟机(VM)的 ​运行中数据​(包括内存、CPU 寄存器等)免受外部攻击或未经授权的访问,即使云服务提供商或管理员也无法窥探。 AMD …

如何通过数据可视化提升管理效率

通过数据可视化提升管理效率的核心方法包括清晰展示关键指标、及时发现和解决问题、支持决策优化。其中&#xff0c;清晰展示关键指标尤为重要。通过数据可视化工具直观地呈现关键绩效指标&#xff08;KPI&#xff09;&#xff0c;管理者能快速、准确地理解业务现状&#xff0c…

.git 文件夹

文件夹介绍 &#x1f34e; 在 macOS 上如何查看 .git 文件夹&#xff1f; ✅ 方法一&#xff1a;终端查看&#xff08;最推荐&#xff09; cd /你的项目路径/ ls -a-a 参数表示“显示所有文件&#xff08;包括隐藏的&#xff09;”&#xff0c;你就能看到&#xff1a; .git…

MongoDB 与 Elasticsearch 使用场景区别及示例

一、核心定位差异 ‌MongoDB‌ ‌定位‌&#xff1a;通用型文档数据库&#xff0c;侧重数据的存储、事务管理及结构化查询&#xff0c;支持 ACID 事务‌。‌典型场景‌&#xff1a; 动态数据结构存储&#xff08;如用户信息、商品详情&#xff09;‌。需事务支持的场景&#xf…

【深度学习基础 2】 PyTorch 框架

目录 一、 PyTorch 简介 二、安装 PyTorch 三、PyTorch 常用函数和操作 3.1 创建张量&#xff08;Tensor&#xff09; 3.2 基本数学运算 3.3 自动求导&#xff08;Autograd&#xff09; 3.4 定义神经网络模型 3.5 训练与评估模型 3.6 使用模型进行预测 四、注意事项 …

uniapp中APP上传文件

uniapp提供了uni.chooseImage&#xff08;选择图片&#xff09;&#xff0c; uni.chooseVideo&#xff08;选择视频&#xff09;这两个api&#xff0c;但是对于打包成APP的话就没有上传文件的api了。因此我采用了plus.android中的方式来打开手机的文件管理从而上传文件。 下面…

推陈换新系列————java8新特性(编程语言的文艺复兴)

文章目录 前言一、新特性秘籍二、Lambda表达式2.1 语法2.2 函数式接口2.3 内置函数式接口2.4 方法引用和构造器引用 三、Stream API3.1 基本概念3.2 实战3.3 优势 四、新的日期时间API4.1 核心概念与设计原则4.2 核心类详解4.2.1 LocalDate&#xff08;本地日期&#xff09;4.2…

树莓派5从零开发至脱机脚本运行教程——1.系统部署篇

树莓派5应用实例——工创视觉 前言 哈喽&#xff0c;各位小伙伴&#xff0c;大家好。最近接触了树莓派&#xff0c;然后简单的应用了一下&#xff0c;学习程度并不是很深&#xff0c;不过足够刚入手树莓派5的小伙伴们了解了解。后面的几篇更新的文章都是关于开发树莓派5的内容…

GPT Researcher 的win docker安装攻略

github网址是&#xff1a;https://github.com/assafelovic/gpt-researcher 因为docker安装方法不够清晰&#xff0c;因此写一个使用方法 以下是针对 Windows 系统 使用 Docker 运行 AI-Researcher 项目的 详细分步指南&#xff1a; 步骤 1&#xff1a;安装 Docker 下载 Docke…

【后端】【Django DRF】从零实现RBAC 权限管理系统

Django DRF 实现 RBAC 权限管理系统 在 Web 应用中&#xff0c;权限管理 是一个核心功能&#xff0c;尤其是在多用户系统中&#xff0c;需要精细化控制不同用户的访问权限。本文介绍如何使用 Django DRF 设计并实现 RBAC&#xff08;基于角色的访问控制&#xff09;系统&…

C#基础学习(五)函数中的ref和out

1. 引言&#xff1a;为什么需要ref和out&#xff1f; ​问题背景&#xff1a;函数参数默认按值传递&#xff0c;值类型在函数内修改不影响外部变量&#xff1b;引用类型重新赋值时外部对象不变。​核心作用&#xff1a;允许函数内部修改外部变量的值&#xff0c;实现“双向传参…

八纲辨证总则

一、八纲辨证的核心定义 八纲即阴、阳、表、里、寒、热、虚、实&#xff0c;是中医分析疾病共性的纲领性辨证方法。 作用&#xff1a;通过八类证候归纳疾病本质&#xff0c;为所有辨证方法&#xff08;如脏腑辨证、六经辨证&#xff09;的基础。 二、八纲分类与对应关系 1. 总…