基本语法

fetch函数用于发起网络请求,返回一个Promise对象。基本语法如下:

fetch(url, options).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));

GET请求

发起一个简单的GET请求,获取JSON数据:

fetch('https://api.example.com/data').then(response => {if (!response.ok) {throw new Error('Network response was not ok');}return response.json();}).then(data => console.log(data)).catch(error => console.error('Error:', error));

POST请求

发送JSON数据到服务器:

fetch('https://api.example.com/data', {method: 'POST',headers: {'Content-Type': 'application/json',},body: JSON.stringify({key1: 'value1',key2: 'value2'})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

处理响应

fetch返回的Response对象包含多种方法处理不同格式的响应:

fetch('https://api.example.com/data').then(response => {if (response.ok) {return response.text(); // 或.json(), .blob(), .arrayBuffer()等}throw new Error('Network response was not ok');}).then(data => console.log(data)).catch(error => console.error('Error:', error));

错误处理

由于fetch只在网络错误时reject,需要手动处理HTTP错误状态:

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:', error));

请求配置

可配置的选项包括method、headers、body、mode、credentials等:

fetch('https://api.example.com/data', {method: 'POST',headers: {'Content-Type': 'application/json','Authorization': 'Bearer token'},body: JSON.stringify({key: 'value'}),credentials: 'include' // 包含cookies
});

取消请求

使用AbortController可以取消fetch请求:

const controller = new AbortController();
const signal = controller.signal;fetch('https://api.example.com/data', {signal}).then(response => response.json()).then(data => console.log(data)).catch(error => {if (error.name === 'AbortError') {console.log('Fetch aborted');} else {console.error('Error:', error);}});// 取消请求
controller.abort();

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

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

相关文章

Json和XML文件相互转化

目录 一.XML转Json文件 示例:将XML转换为JSON 依赖准备 Java代码示例 代码详细讲解 二.Json转XML文件 示例:将JSON转换为XML 依赖准备 Java代码示例 代码详细讲解 关键代码解析 将JSON转换为XML 写入文件 示例输入与输出 三.具有相同功能的…

Python科学计算与可视化领域工具TVTK、Mayavi、Mlab、Traits(附视频教程)

概述 TVTK、Mayavi、Mlab 和 Traits 都是 Python 科学计算与可视化领域中紧密相关的工具,它们常被结合使用来处理和展示三维数据。视频教程:https://pan.quark.cn/s/f73e875225ca 1. TVTK TVTK(Traits-based Visualization Toolkit&#xff0…

SQL INSERT INTO SELECT 详解

SQL INSERT INTO SELECT 详解 引言 SQL(Structured Query Language)是数据库操作的基础语言,广泛用于各种关系型数据库管理系统中。在SQL中,INSERT INTO SELECT 是一个强大的功能,它允许用户从一个表中选取数据,并直接将这些数据插入到另一个表中。本文将详细讲解 SQL …

python速成学习路线

第一部分:核心基础(语法与工具) 目标:掌握 Python 的基本语法规则、数据处理方式和开发工具 核心内容: 环境搭建 安装Python 3.x版本(推荐3.10)配置开发工具(如PyCharm、VS Code或…

自然语言处理的实际应用

在这个信息爆炸的时代,我们每天都在与文字、语音打交道 —— 发送消息、查询信息、使用智能助手…… 这些看似平常的互动背后,都离不开一项关键技术的支撑:自然语言处理(NLP)。作为人工智能的重要分支,NLP …

Docker实战:为项目打造即开即用的宝塔LNMP环境

Docker实战:为项目打造即开即用的宝塔LNMP环境背景一、准备基础镜像二、启动配置容器(关键步骤)三、容器内环境配置(逐步执行)1. 基础环境搭建2. 安装Systemd(宝塔依赖)3. 安装宝塔面板&#xf…

.net\c#web、小程序、安卓开发之基于asp.net家用汽车销售管理系统的设计与实现

.net\c#web、小程序、安卓开发之基于asp.net家用汽车销售管理系统的设计与实现

药房智能盘库系统:基于CV与时间序列预测的库存革命

> 在医疗资源日益紧张的今天,**全国78%的药房仍依赖人工盘库**,平均每100家药房每年因库存问题损失超50万元。当计算机视觉遇见时间序列预测,一场药房库存管理的智能化革命正在悄然发生。 --- ### 一、传统药房库存的三大痛点与破局思路 #### 致命痛点分析 1. **人工…

【互动屏幕】解析双屏联动在数字展厅中的应用与价值

双屏联动 https://www.bmcyzs.com/ 作为现代展厅设计中的重要技术手段,通过两块或多块屏幕的协同工作,实现了信息的动态展示与交互体验的提升。在展厅环境中,双屏联动软件能够将触摸屏与大屏幕无缝连接,使观众通过简单的操作即可控…

clickhouse基础概念及集群部署

一. 简述: ClickHouse 是一款高性能列式存储数据库,专为海量数据的实时分析场景设计。它以极致的查询速度、高效的存储利用率和强大的并行处理能力著称,广泛应用于日志分析、用户行为分析、业务监控等大数据分析领域。1. 核心特性&#xff1a…

低版本 IntelliJ IDEA 使用高版本 JDK 语言特性的问题

现实问题: 目前最新的 IntelliJ IDEA 已经不支持在 Win7 环境上安装了,如果企业内开发环境仍然是 Win7,就会导致很多问题。 比如当前 IDEA 版本为 2023.1,最大支持 JDK17,如何正常使用 JDK21 的新特性呢?比…

3分钟 Spring AI 实现对话功能

1.什么是spring AISpring AI 是 Spring 官方推出的一个基于 Spring 生态的 AI 应用开发框架,旨在简化将人工智能(如大语言模型、生成式 AI)集成到 Java 应用中的过程。它提供了统一的 API 和工具,让开发者能更轻松地调用 AI 模型2…

CMake笔记:配置(Configure)、生成(Generate)和构建(Build)

以下为AI生成的内容&#xff1a; 一、配置阶段&#xff08;Configure&#xff09; 本质&#xff1a;解析项目逻辑&#xff0c;构建内存模型 触发命令&#xff1a;cmake -S <源码路径> -B <构建路径> 关键操作与输出&#xff1a;操作类型典型案例输出产物变量定义se…

直接编辑pdf文件教程

工具下载地址&#xff1a;https://pan.quark.cn/s/4befbe5f4a77 一、下载并安装软件二、打开软件&#xff0c;并打开一个pdf文件三、编辑PDF文件&#xff0c;并保存四、关闭软件&#xff0c;打开源文件查看效果。

javaswing json格式化工具

效果展示代码 package com.example.springbootdemo;import javax.swing.*; import javax.swing.border.TitledBorder; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeSelectionModel; import java.…

真实案例 | 如何用iFlyCode开发Webpack插件?

01案例背景在项目中&#xff0c;我们经常需要存档前端每次打包的版本&#xff0c;方便线上快速切换不同版本使用。经过思考&#xff0c;我们可以在打包时&#xff0c;将本次打包结果另存为zip压缩包&#xff0c;方便后续使用。于是我准备开发一个Webpack插件实现此功能&#xf…

19day-人工智能-机器学习-分类算法-决策树

1. 什么是决策树学过数据结构与算法的小伙伴应该对树不陌生吧&#xff0c;这里的决策树也是大同小异的&#xff0c;只是每次反之都有一个条件来决定流向的。1.1 决策节点通过条件判断而进行分支选择的节点。如&#xff1a;将某个样本中的属性值(特征值)与决策节点上的值进行比较…

地球磁层全球MHD模型中模拟Dst指数的半经验方法

A semi-empirical approach to simulating the Dst index in global MHD models of Earth’s magnetosphere pdf 1 Introduction Dst指数 (Disturbance storm time index, 地磁暴时扰动指数) 是描述磁暴活动强度应用最广泛的指数&#xff0c;对于研究地磁扰动和磁暴具有重要意…

什么是脏读、幻读、不可重复读?

脏读、幻读和不可重复读是数据库事务隔离级别中常见的三种数据一致性问题。它们描述了在并发事务环境下可能出现的异常现象。下面通过对比表格和具体示例进行清晰解析&#xff1a;核心概念对比表问题类型触发场景本质原因示例脏读 (Dirty Read)事务A读取了事务B未提交的修改读取…

腾讯位置商业授权微信小程序关键词输入提示

微信小程序JavaScript SDK 开发指南 关键词输入提示 getSuggestion(options:Object) 用于获取输入关键字的补完与提示&#xff0c;帮助用户快速输入 注&#xff1a;坐标系采用gcj02坐标系 options属性说明 属性类型必填说明keywordString是用户输入的关键词&#xff08;希望…