使用 uni-app plus.net.XMLHttpRequest onreadystatechange 安卓端监听不到流式输出

使用 uni-app plus.net.XMLHttpRequest onreadystatechange 安卓端监听不到流式输出

在安卓端,使用 plus.net.XMLHttpRequest onreadystatechange 安卓端监听不到流式输出, readyState 等于3的时候先触发一次 ,在响应的阶段 状态是3的时候就不在触发了,等到所有数据都响应完毕后, 3的状态在触发一次,随后readyState 状态也由3变更为4.

H5 中使用原生的XMLHttpRequest 可以响应流式数据,在readyState 为3的时候 数据可以分片返回。

2 回复

同样的问题,不知道怎么解决

更多关于使用 uni-app plus.net.XMLHttpRequest onreadystatechange 安卓端监听不到流式输出的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是安卓端XMLHttpRequest实现与标准浏览器的差异导致的。在uni-app中,plus.net.XMLHttpRequest是基于原生WebView的实现,安卓平台对readyState=3的流式响应支持不完整。

解决方案可以考虑:

  1. 改用uni.request或uni.downloadFile API,它们对跨平台兼容性更好

  2. 如果需要实时流式数据传输,建议使用WebSocket方案替代:

const socket = new WebSocket('ws://your-server');
socket.onmessage = (event) => {
  // 处理分片数据
}
回到顶部