前端Fetch API接收数据

fetch-jsonp[GET、POST请求数据] 阅读详情

Fetch API

Fetch API 可以用来获取远程数据,它有两种方式接收结果,同步方式与异步方式

格式

fetch(url, options) // 返回 Promise

同步方式

const 结果 = await Promise
// 后续代码
  • await 关键字必须在一个标记了 async 的 function 内来使用
  • 后续代码在结果返回后执行

异步方式

Promise
	.then(结果 => { ... })
// 后续代码                 
  • 后续代码不必等待结果返回就可以执行

例:

在 express 服务器上有 students.json 文件

[
    { "id": 1, "name": "张三", "sex": "男", "age": 18 },
    { "id": 2, "name": "李四", "sex": "女", "age": 17 }
]

现在用 fetch api 获取这些数据,并展示

同步方式

<script>
    async function findStudents() {
        try {
            // 获取响应对象
            const resp = await fetch('students.json')

            // 获取响应体, 按json格式转换为js数组
            const array = await resp.json();

            // 显示数据
            const tp = document.getElementById("tp");
            const row = tp.content;
            const [c1,c2,c3,c4] = row.querySelectorAll(".col");
            const tbody = document.querySelector('.tbody');
            for(const {id,name,sex,age} of array) {
                c1.textContent = id;
                c2.textContent = name;
                c3.textContent = sex;
                c4.textContent = age;
                // 复制元素
                const newRow = document.importNode(row, true);
                // 建立父子关系
                tbody.appendChild(newRow);
            }
        } catch (e) {
            console.log(e);
        }

    }
    findStudents()
</script>
  • fetch(‘students.json’) 内部会发送请求,但响应结果不能立刻返回,因此 await 就是等待响应结果返回
  • 其中 resp.json() 也不是立刻能返回结果,它返回的也是 Promise 对象,也要配合 await 取结果

异步方式

<script>
    fetch('students.json')
        .then( resp => resp.json() )
        .then( array => {
        	// 显示数据
            const tp = document.getElementById("tp");
            const row = tp.content;
            const [c1,c2,c3,c4] = row.querySelectorAll(".col");
            const tbody = document.querySelector('.tbody');
            for(const {id,name,sex,age} of array) {
                c1.textContent = id;
                c2.textContent = name;
                c3.textContent = sex;
                c4.textContent = age;
                // 复制元素
                const newRow = document.importNode(row, true);
                // 建立父子关系
                tbody.appendChild(newRow);
            }
        })
        .catch( e => console.log(e) )


</script>
  • 第一个 then 是在响应返回后,才会调用它里面的箭头函数,箭头函数参数即 resp 响应对象
  • 第二个 then 是在 json 解析完成后,才会调用它里面的箭头函数,箭头函数参数即解析结果(本例是 array 数组)
  • 上一个 then 返回的是 Promise 对象时,才能链式调用下一个 then
ES6跨域数据访问fetch-jsonp 本篇文章分为三个部分:一、索引说明;二、使用环境介绍;三、fetch-jsonp实现分析。一、索引说明本篇文章要说明的是一款跨域数据请求的库文件fetch-jsonp,这是一款github上开源文件,基于ES6下的Promise设计实现,可以在某些情况下替代$.ajax实现数据的跨域访问,github上有非常详细的API说明及使用实例,本文只列举一个简单的例子用于说明,具体还请移步GIT查看。首先... 阅读详情

相关推荐

I can‘t link the chatbot model with react

我无法将聊天机器人模型 chatbot 与React连接起来

suiusoar 732

fetch 如何请求常见数据格式

fetch是web提供的一个可以获取异步资源的api,目前还没有被所有浏览器支持,它提供的api返回的是Promise对象,所以你在了解这个api前首先得了解Promise的用法。参考阮老师的文章 那我们首先讲讲在没有fetch的时候,我们是如何获取异步资源的: //发送一个get请求是这样的: //首先实例化一个XMLHttpRequest对象 var httpRequest = new...

weixin_39214481的博客 5133

数据采集卡架构与PCIe优化设计详解

数据采集卡(DAQ)作为工业自动化中的关键设备,其核心在于模数转换(ADC)和数字信号处理技术。现代系统普遍采用PCIe总线架构,通过DMA传输和时钟同步技术实现高速数据采集。在信号调理环节,可编程增益放大器(PGA)和抗混叠滤波器确保信号质量;而Σ-Δ型ADC则提供高达24位的分辨率。实际应用中,从电力监测到机床振动分析,数据采集卡需要结合具体场景优化配置。通过合理的PCB布局和EMI防护设计,可以有效提升系统在工业环境中的可靠性。

weixin_29168675的博客 912

Fetch和Jsonp的使用

Fetch是在ES6出现的,它使用了ES6提出的promise对象。它是XMLHttpRequest的替代品。使用 promise,不使用回调函数。采用模块化设计,比如 rep、res 等对象分散开来,比较友好。通过数据流对象处理数据,可以提高网站性能。服务器端的fetch可以跨域拿资源,客户端不行通过fetch方法获取其他文件的数据 返回值是promise对象,对于promise对象来说可以用then来做一个监听,返回值是响应(response),它对应的是http的响应。

weixin_63877292的博客 2173

Python小白也能搞定!用you-get一键下载B站视频合集的保姆级教程

本文为Python新手提供了使用you-get工具一键下载B站视频合集的完整教程。从环境配置、基础下载操作到高级批量下载技巧,详细介绍了如何利用这个开源工具高效获取视频资源,包括解决常见问题和实用优化建议,帮助用户轻松实现离线学习。

weixin_42544663的博客 460

RADIOML 2018.01A调制信号数据集介绍及处理

RadioML 2018.01A 由 DeepSig 发布,是专门针对自动调制识别(Automatic Modulation Recognition, AMR)和无线信号分类研究设计的基准数据集。它在原有 RadioML 2016.10a 的基础上,扩展并精细化了信道仿真模型,使得信号更接近真实无线环境下的表现。该数据集广泛用于机器学习模型的训练与评估,为各类深度学习算法提供了统一、可重复的实验条件。

weixin_56527269的博客 1895

js 通过 fetch 请求数据

fetch是一种原生 js 对 HTTP 数据请求的方式,是 XMLHttpRequest 的一种更理想的替代方案 Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分,例如请求和响应,它还提供了一个全局 fetch() 方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源 使用例子: 一般请求: fetch(url, { method: "POST", body: JSON.stringify(data), headers: {

haogemr的博客 6419

codesys【modbusRTU】主站

【代码】modbusRTU【codesys】

cfqq1989的博客 4374

【js】json-fetch小知识

json-fetch小知识

tuzi007a的博客 760

特斯拉 Model 3解析(九)特斯拉 Model 3 自动驾驶域控制器硬件架构

硬件层:车规级高密度主板 → PI/SI优化到极致传感器层:三目摄像头主导视觉,雷达补充冗余,超声波保证近距设计理念:依靠芯片算力最大化视觉潜力,而不是堆传感器这套思路的优点是:成本可控、量产快、迭代快。缺点是:极端场景下感知鲁棒性不足。纯视觉方案短期可行,但中长期必然要重新引入高分辨率雷达甚至固态LiDAR作为冗余。电源/信号完整性会越来越关键,未来域控板设计会越来越像数据中心服务器。

weixin_43199439的博客 1785

手把手教你学Simulink实例--基于Simulink的电力电子系统电池管理系统(BMS)设计与仿真实例

本文详细介绍了基于Simulink的电池管理系统(BMS)设计与仿真全过程。首先阐述了BMS在安全防护、寿命延长和性能优化方面的必要性,分析了新能源汽车、光伏储能等典型应用场景的技术指标要求。接着详细讲解了Thevenin等效电路和多电平电池模型构建方法,并给出SOC估算、故障诊断等核心算法的MATLAB实现代码。通过设计正常充放电、过充保护等多场景仿真测试,验证了系统在SOC跟踪精度(误差<1.5%)和故障响应速度(<10ms)方面的优异性能。文章还提出了参数优化方法和未来AI融合、数字孪生等发展方向,提

xiaoheshang_123的博客 379

@RequestBody和前端的关系以及,如何在前后端之间传递数据?

前端:负责构建请求体并设置正确的头,确保数据格式符合后端的要求。后端:使用注解将请求体中的数据自动转换为 Java 对象,并进行相应的业务处理。错误处理:前后端都需要处理可能出现的错误情况,确保系统的健壮性和用户体验。**POST 请求:适用于传递大量数据或敏感数据,如用户注册信息。GET 请求:适用于传递少量数据,如查询参数。Form Data:适用于文件上传等场景。通过上述示例,你可以看到前后端之间如何通过不同的 HTTP 方法和数据格式进行数据传递。

qq_43518966的博客 2305

PostgreSQL:十五. 性能优化

十五. 性能优化 优化简介: PostgreSQL优化一方面是找出系统的瓶颈,提高PostgreSQL数据库整体的性能; 另一方面,需要合理的结构设计和参数调整,以提高用户操作响应的速度; 同时还要尽可能的节省系统资源,以便系统可以提供更大负荷的服务。 PostgreSQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如: 通过优化文件系统,提高磁盘IO的读写速度; 通过优化操作系统调度策略,提高PostgreSQL的在高负荷情况下负载能力; 优化表结构、索引、查询

数据知道的博客 4万+

前端请求API你知道哪些???

浏览器中用于发起网络请求的 API 主要包括以下几种:XMLHttpRequest:这是一个老牌的 API,用于在浏览器和服务器之间发送 HTTP 请求。它支持异步请求,并可以通过设置回调函数来处理响应。尽管它已经被更现代的 API 取代,但在一些旧的浏览器或特定的场景中仍然有用。对于前端开发的我们来说,这个API再熟悉不过了,XHR 是最早接触到的网络请求 API,可以说是“老朋友”了。在很多老项目中,我们和后端沟通基本都用它。

fans_x的博客 1124

基于Spring Boot 3 + Vue 3 + UniApp的全栈高校社团管理小程序设计与实现

requestMatchers("/api/auth/**", "/doc.html", "/webjars/**", "/v3/api-docs/**").permitAll() // 公开接口。<u-search placeholder="搜索活动" v-model="searchKeyword" @search="loadActivities" :showAction="false"></u-search>R.success("活动创建成功") : R.error("活动创建失败");

2201_76125393的博客 369

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

前端使用fetch、axios提交FormData 后台使用Express fileupload、multer接收数据

Web数据交互方式,提供了对Request和Response(以及其他与网络请求有关的)对象的通用定义,是XMLHttpRequest的一种替代方案,fetch不是ajax的进一步封装,而是原生js。,FormData对象代表了一个表单的键值对集合,它可以包含多个字段,并且可以包含文件数据。FormData通常用于通过AJAX(XMLHttpRequest或Fetch)发送数据,避免页面刷新。

博观而约取,厚积而薄发~ 923

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ajax、fetch和axios的比较

AJAX、Fetch、axios AJAX AJAX可以在不更新全局的情况下更新局部页面。通过在与服务器进行数据交换,可以使网页实现异步更新。 AJAX的原理就是通过XHR对象来向服务器发起异步请求,从服务器获得数据,然后用JS来操作DOM更新页面。领导想找小李汇报一下工作,就委托秘书去叫小李,自己就接着做其他事情,直到秘书告诉他小李已经到了,最后小李跟领导汇报工作。Ajax请求数据流程与“领导想找小李汇报一下工作”类似,上述秘书就相当于XMLHttpRequest对象,领导相当于浏览器,响应数据相当于小

qq_43539854的博客 5566

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

php后端接收数据,后端如何接收fetch方式发送的数据?

fetch方法借助FormData对象模拟表单的请求这样能够实现完整的HTTP请求,而后端也能够像表单样接收数据//前端var formdata = new FormData();formdata.append('username','lofayo');fetch('web.php',{method: 'POST',body:formdata}).then(res=>res.text())....

weixin_36411999的博客 705

前端接deepseek的流式接口如何请求?fetch和axios方案

流式请求是一种在数据传输过程中逐步接收数据的技术,适用于需要实时处理数据的场景。当前,DeepSeek 是一个热门的 AI 技术,许多开发者都在集成它。然而,流式的 Server-Sent Events (SSE) 方案似乎较少被采用。本文档将介绍如何使用 Fetch 和 Axios 实现流式请求,并处理接收到的数据。

qq_43630714的博客 5259

Fetch API、Axios 和 Alova:2025 年 HTTP 客户端选型指南(深度解析)

没有“最好”的 HTTP 客户端,只有“最适合”的选择。Fetch API 是轻量场景的“基石”,Axios 是全栈项目的“稳妥之选”,Alova 是前端密集型应用的“未来趋势”。2025 年的开发者,需要根据项目实际需求,灵活运用这些工具——甚至在同一项目中混合使用(如用 Alova 管理前端状态,用 Axios 处理后端请求),才能在效率与性能之间找到最佳平衡。

excellent_fish_c的博客 1245

AJAX的第二春!fetch!!!

曾经的我们是那么的年少。然鹅,时光荏苒,岁月如梭,一代新人换旧人。我们已经三十出头,成为了程序员中的大哥。 现如今,互联网界瞬息万变,最新技术层出不穷。Vue、Axios、React、Redux、Angular、Node...等等等等。万幸的是,底层的东西是不变的。所以,我们今天就来聊一聊,那些底层的东西。 说起AJAX,相信大多数程序员都会本能的想起XMLHttpRequest。没错,XHR(小黄人)陪伴我们度过了许多岁月。但是,小黄人诞生的岁月,处于互联网的原始阶段。 各大浏览器你方唱罢我

qq_43650522的博客 148

【JS】1688- 重学 JavaScript API - Fetch API

❝前期回顾:1.Page Visibility API2. Broadcast Channel API3. Beacon API4.Resize Observer API5. Clipboard API❞???? 1. 什么是 Fetch API1.1 概念介绍Fetch API[1] 是一种现代的 JavaScript API,用于进行「网络请求」。它提供了一种更简洁、灵活的方式来发送和接收数据,...

pingan8787 1316

异步网络请求xhr、ajax、fetch与axios对比

现代浏览器,最开始与服务器交换数据,都是通过 XMLHttpRequest 对象。它可以使用JSON、XML、HTML和text文本等格式发送和接收数据。 if (window.XMLHttpRequest) { // model browser xhr = new XMLHttpRequest() } else if (window.ActiveXObject) { // IE 6 an...

小分享 1009

fetch与formdata的故事

前传 很久以前有个前端想学习fetch的用法,于是他用php写了一个接受post请求的接口,然后前台写了一个使用fetch请求PHP接口的demo,如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>login</title> </head> <body>

图解前端的博客 6192

网络层深潜:基于Fetch API实现可控的流式输出与错误重试机制

在从传统Web开发向AI应用开发转型的过程中,我意识到网络层的健壮性直接决定了AI产品的“智商感”。如果每次网络波动都导致对话重置,用户会感到极其挫败。通过上述代码,我们实现了两个关键目标:1.业务解耦:将重试策略、流解码逻辑与UI渲染逻辑分离,符合单一职责原则。2.体验升级:指数退避机制在后台默默修复错误,用户几乎无感知;的支持则赋予了用户随时打断AI“胡言乱语”的权利。对于正在转型AI开发的同行,我的建议是:不要只关注模型参数的调优,工程化能力同样是你构建护城河的关键。理解、理解。

2601_95249574的博客 431

实战指南:利用`@microsoft/fetch-event-source`构建高效GPT流式对话前端

本文是一份实战指南,详细介绍了如何利用`@microsoft/fetch-event-source`库构建高效的GPT流式对话前端。通过对比传统请求与流式输出的体验差异,阐述了SSE(Server-Sent Events)技术的优势,并提供了从零搭建、核心代码实现到性能优化与高级技巧的完整解决方案,帮助开发者打造实时、流畅的AI对话交互体验。

stem5的博客 593
上一篇: 使用mockMvc测试请求
下一篇: 跨域问题的解决
稚淮粥
博客等级 码龄6年 11粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值