原生 fetch 请求 fetch和ajax的区别

2023-11-13

//比如请求一个json文件
async function(){
	//请求
	let res = fetch(“data1.json”);
	//解析内容
	let data = await res.json()
	//获取到json 文件
	console.log(data)
}
//比如请求一个图片
async function(){
	//请求
	let res = fetch(“data1.png”);
	//解析内容
	let data = await res.blob()
	//虽然获取到了blob 二进制对象 但是获取不到数据
	//需要中转使用新加的URL对象把二进制数据解析成一个url 放到临时的文件,如果是小文件会放到内存,如果是大文件会临时放到硬盘
	let url=URL.createObjectURL(data)
	console.log(url)
}

在这里插入图片描述
这个请求MP4格式也是可以的,只是视频文件太大全加载完再转换成二进制再缓存会等很久,一般会切片输出。
js不是擅长处理二进制数据 需要浏览器帮忙处理。

fetch和ajax 相比
1.都是原生的 不需要引入库
2.比xhr简单,代码量少

fetch一般面试会遇到一个问题
请介绍fetch请求两次的原因?
用fetch的post请求的时候,第一次会发送一个option请求,询问服务器是否支持自定义的请求头,如果服务器支持,则在第二次中才会发送真实的请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原生 fetch 请求 fetch和ajax的区别 的相关文章

  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • 将列名称与具有 AJAX 数据源的 DataTable 一起使用

    我正在尝试升级我的系统以使用 DataTables 1 10 而不是 1 9 并且我正在尝试找到一种使用 JSON 对象而不是列表传回行内容的方法 具体来说 而不是以格式传回数据 data data data data data data
  • Rails 4 使用 ajax、jquery、:remote => true 和 respond_to 渲染部分

    使用 AJAX 动态渲染页面以响应提交的表单似乎很常见 其他类似的问题都没有集中于如何以一般方式做到这一点 我能找到的关于这个主题的最好的博客文章在这里 http www gotealeaf com blog the detailed gu
  • Node.js 未处理的“错误”事件

    我编写了一个简单的代码并将其保存在文件 try js 中 var http require http var makeRequest function message var options host localhost port 8080
  • 最适合“正在进行的作业”的 HTTP 状态代码

    向客户端提供的最合适的 HTTP 状态代码是什么 表示 您的请求很好 但仍在进行中 请稍后在完全相同的位置回来查看 例如 假设客户端提交初始请求以启动繁重的查询 服务器立即返回一个 URL 客户端可以定期轮询该 URL 以获取结果 如果客户
  • Angular 2 - Http - 正确忽略空结果

    我有很多处理请求并简单返回 200 的 REST 端点 我注意到将结果映射为错误json 如果我尝试不进行任何类型的映射 我会看到浏览器警告它无法解析 XML 由于不返回任何内容是很常见的 我很好奇我应该如何处理响应 这是一个基本的代码示例
  • 如何让Gmail像加载进度条一样

    我想在页面的中心和顶部创建一个像 Gmail 一样的加载进度条 并适用于所有浏览器 这是基本代码
  • Chrome/Firefox 在后台发送两个 POST,间隔恰好 5 秒,仅调用一次来获取 Nodejs 8.0.0 服务器

    注意 这不是飞行前选项 也不是网站图标或其他类似内容 实际上是 2 个帖子 下面有一个屏幕截图可以更清楚地显示这一点 我的规格 版本 macOS 塞拉利昂版本 10 12 3 Chrome 版本 61 0 3128 0 官方版本 开发版 6
  • 我如何使用 querySelector() 选择具有双类的元素

    当我想使用 querySelector 选择元素时遇到问题 ul class xoxo blogroll ul 我怎样才能选择它ul元素 在我的代码中我像这样使用 var list document body querySelector u
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • 如何记录进入 IIS 的 HTTP 请求

    我在我的开发机器上运行 IIS 5 我有一个 asp net 3 5 Web 服务在其上运行 我从同一服务器上运行的不同 Web 应用程序调用该服务 我的服务返回错误 500 内部服务器错误 我正在对其进行故障排除 我的请求是通过Syste
  • 使用 AJAX 和 JQuery 按设定的时间间隔刷新 Rails 部分

    I have a page in my rails application that looks like 现在 我有另一个用 python 编码的人工智能应用程序 它处理视频 显示在 Rails 应用程序页面的左侧 并使用捕获的车辆及其相
  • Javascript Ajax 优雅降级,不同页面?

    我开始更加关注如何让我的 javascript 和 ajax 优雅地降级 比较推荐哪个 致力于将优雅降级合并到现有代码中 可能很棘手 或者 为非 js 用户开发一组不同的页面 我倾向于不同的页面集 因为我觉得它更容易 并且我可以为每种用户类
  • 尝试使用 php 发送 POST 请求,无论我做什么,我都会收到“HTTP ERROR 500”

    为了发出 HTTP 请求 有人建议我尝试使用 PHP 并给了我一段代码 url https example com dashboard api data array to gt PHONE NUMBER from gt SENDER ID
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史
  • android httprequest java.net.UnknownHostException

    我想用android发出http请求 是使用这个 void testHTTP HttpClient httpClient new DefaultHttpClient HttpUriRequest request new HttpPost h
  • 优雅降级 - 何时考虑

    在为使用 AJAX 的应用程序设计和构建 UI 时 您何时考虑优雅降级 对于禁用 JavaScript 或正在使用屏幕阅读器的用户 最后 网站的 AJAX 版本完全完成后 在每个发展阶段 I don t 还有别的事 这些日子 渐进增强 ht
  • 是否可以检测 http git 远程是智能还是愚蠢?

    我正在我的应用程序中实现一个选项来使用 depth 1制作 git repo 的最小功能克隆 我刚刚意识到愚蠢的 http 传输不支持 depth 我想自动检测 http 远程是愚蠢的还是聪明的 这样我就可以省略 depth与哑 http

随机推荐

  • 安卓开发之前端

    安卓开发之前端界面的搭建 前段时间因为网络编程这门课要做一个课程project 题目是本地服务器的开发 需要开发一个安卓客户端 于是就把去年小学期学的那点安卓知识捡起来了 心累 想到去年小学期学的那点安卓真的不算什么 就是一些很简单的东西
  • windgb调试

    reference http hi baidu com lewutian blog item 191047882b9c399fa5c27261 html 调试前的必备工作 在开始调试前首先要做的工作是设置好符号 Symbols 路径 没有符
  • C++constexpr函数(常量表达式函数)

    1 语法 在定义函数时用constexpr关键字作为前缀修饰函数 如 constexpr int fun return 20 注意 定义了一个constexpr函数后 函数声明也要加上constexpr关键字 constexpr函数只能有一
  • 如何安装svelte_在Svelte JS中使用环境变量

    如何安装svelte Process is not defined the compiler just slapped you in the face again You are tempted to hardcode your envir
  • 使用 PyTorch C++ 前端

    PyTorch C 前端是 PyTorch 机器学习框架的纯 C 接口 虽然 PyTorch 的主要接口是 Python 但 Python API 位于大量 C 代码库之上 提供基础数据结构和功能 例如张量和自动微分 C 前端公开了一个纯
  • linux查看系统中文件的内存占用以及具体某个文件夹下内存占用

    1 linux查看系统文件内存占用 df hl 2 Linux查看某个具体文件夹下文件的内存占用 du sh
  • SpringCloud——网关Gateway

    文章目录 六 统一网关 Gateway 6 1 网关介绍 6 2 快速搭建网关 6 3 断言工厂 6 4 过滤器工厂 6 5 全局过滤器 GlobalFIlter 6 6 过滤器的执行顺序 6 7 跨域问题 六 统一网关 Gateway 6
  • C编写的程序可能产生的主要缺陷

    摘自 软件静态分析工具评析 王 凯 孔祥营 空指针引用 悬空指针 资源泄露 函数返回值 使用未初始化变量 无限循环 死亡代码 缓冲区溢出 野指针等 1 空指针引用 空指针引用会导致程序崩溃 空指针引用的情况包括 忘记对指针为NULL 的情况
  • java入门四:数组

    1 数组概述 数组是最简单的数据结构 是相同类型数据的有序集合 数组描述的是相同类型的若干个数据 按照一定的先后次序排列组合而成的 数组中 每一个数据称作一个数组元素 每个数组元素可以通过一个下标来访问他们 2 数组的声明创建 首先必须声明
  • 分享解决jar包冲突问题的方法:(看了这个你就能解决所有包冲突问题!)

    1 问题描述 maven eclipse环境 1 1 昨晚发布这个新功能 接入notify消息中间件 预发失败 报 nested exception is java lang NoSuchMethodError org springfram
  • Go函数--匿名函数与闭包

    0 匿名函数概念 Go语言提供两种函数 有名函数和匿名函数 所谓匿名函数就是没有函数名的函数 匿名函数没有函数名 只有函数体 它和有名函数的最大区别是 我们可以在函数内部定义匿名函数 形成类似嵌套的效果 匿名函数常用于实现回调函数 闭包等
  • is服务器虚拟目录,Tomcat虚拟目录配置

    1 编辑server文件 x tomcat conf server xml 2 只要在server xml文件中加入如下代码即可 注意 在server xml中 此语句 unpackWARs true autoDeploy true xml
  • 数据库:sql 递归

    mysql 自关联表 以下为向下递归以及向上递归样例 1 递归查询前期准备 如果你的表已经存在 可忽略此步 建表 CREATE TABLE wq areainfo id int 11 NOT null AUTO INCREMENT leve
  • 服务器A拷贝文件到服务器B

    命令格式如下 scp 要拷贝的文件名 服务器B的用户名 IP 服务器B要存放的路径 拷贝文件 如 scp install log root 192 168 33 111 home 或 scp install log 192 168 33 1
  • Docker是什么?

    一 概述 Docker是一个用于开发 交付和运行应用程序的开放平台 Docker使您能够将应用程序与基础架构分离 从而实现快速交付软件 借助Docker 您可以以与管理应用程序相同的方式来管理基础架构 通过利用Docker快速交付 测试和部
  • python生成微信个性签名的词云图

    需要用到的库 itchat jieba numpy wordcloud import itchat import re import jieba import matplotlib pyplot as plt import PIL Imag
  • 企业运维

    欢迎关注 全栈工程师修炼指南 公众号 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 专注 企业运维实践 网络安全 系统运维 应用开发 物联网实战 全栈文章 等知识分享 花开堪折直须折 莫待无花空折枝 作者主页 https w
  • QT控件之(QLabel)中加载了图片想清除掉

    这个时候直接在你加载图片的那个label中使用如下代码 清除label中加载过来的图片 label clear qt学习推荐 百度云盘 链接 https pan baidu com s 11b634VvKMIsGdahyBLpZ3Q 提取码
  • 远程调试Android/IOS设备/微信网页方法汇总

    以下汇总现在可远程调试手机网页的几个方法 基本上官方都有详细的说明文档 可移步至相关网站查看 这里就不赘述使用 操作方法了 微信web开发者工具 PC客户端 官方说明文档 支持Windows和Mac系统 支持调试Android和IOS设备
  • 原生 fetch 请求 fetch和ajax的区别

    比如请求一个json文件 async function 请求 let res fetch data1 json 解析内容 let data await res json 获取到json 文件 console log data 比如请求一个图