XMLHttpRequest接受chunked编码传输的HTTP Response时有问题

ops/2024/12/20 7:36:54/

实际中遇到的问题,虽然没有最终解决,但是浪费了好长事件,记录下来,避免再次踩坑。

现在前端框架发送Ajax请求时,大部分组件最终都是调用的XMLHttpRequest对象来发送和接受请求。

使用XMLHttpRequest接受流式chunked编码的数据时(Transfer-Encoding: chunked),出现了如下问题:

响应的Content-Type谷歌浏览器火狐浏览器
未设置接收到1k左右的内容后才会触发

onprogress事件

接收到第一次内容后就触发onprogress事件
text/plain接收到1k左右的内容后才会触发

onprogress事件

接收到第一次内容后就触发onprogress事件
application/octet-stream接收到第一次内容后就触发onprogress事件接收到第一次内容后就触发onprogress事件
text/event-stream接收到第一次内容后就触发onprogress事件接收到第一次内容后就触发onprogress事件


http://www.ppmy.cn/ops/143415.html

相关文章

前端项目性能优化(详细)

‌前端项目的性能优化可以从多个方面进行,包括减少页面重绘和回流、优化加载速度、图片优化、代码优化等。‌ 减少页面重绘和回流 ‌减少重绘和回流‌:重绘(repaint)是指当元素样式改变但不影响布局时,浏览器只需重新…

微服务设计原则——功能设计

文章目录 1.ID生成2.数值精度3.DB操作4.性能测试5.版本兼容5.1 向旧兼容5.2 向新兼容 6.异步时序问题7.并发问题7.1 并发时序7.2 并发数据竞争 参考文献 1.ID生成 在分布式系统中,生成全局唯一ID是非常重要的需求,因为需要确保不同节点、服务或实例在并…

MySQL迁移SQLite 借助PYTHON脚本

使用 Python 脚本将 MySQL 数据库迁移到 SQLite 是一种灵活且强大的方法。 下面是一个基本的脚本示例,使用 pandas 和 sqlite3 库来实现这一过程。 这个脚本假设你已经安装了 pandas 和 mysql-connector-python 库。 步骤 安装必要的库: 如果尚未安装&#xff…

【自动驾驶】单目摄像头实现自动驾驶3D目标检测

🍑个人主页:Jupiter. 🚀 所属专栏:传知代码 欢迎大家点赞收藏评论😊 目录 概述算法介绍演示效果图像推理视频推理 核心代码算法处理过程使用方式环境搭建下载权重文件pytorch 推理(自动选择CPU或GPU&#x…

HTML基本标签详解

HTML基本标签详解 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;以下是一些常用的 HTML 基本标签及其详细说明&#xff1a; <html> 定义&#xff1a;整个 HTML 文档的根元素。示例&#xff1a;<html lang"zh"><head> …

白话java设计模式

创建模式 单例模式&#xff08;Singleton Pattern&#xff09;&#xff1a; 就是一次创建多次使用&#xff0c;它的对象不会重复创建&#xff0c;可以全局来共享状态。 工厂模式&#xff08;Factory Method Pattern&#xff09;&#xff1a; 可以通过接口来进行实例化创建&a…

排序算法进一步总结

归并排序 (Merge Sort) 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法 (Divide and Conquer) 的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列有序&#xff0c;…

美的集团后端实习面试

前言 碎碎念没必要看 不过&#xff0c;hr还有面试官都很好&#xff0c;面试官也不严厉&#xff0c;虽然没开摄像头&#xff0c;但是面起来很舒服&#xff0c;然后面试官感觉就像是跟同龄人聊天一样&#xff0c;很可爱的小姐姐&#x1f603;。~~ 流程啥的就不说了&#xff0c;…