使用 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的流式响应支持不完整。
解决方案可以考虑:
-
改用uni.request或uni.downloadFile API,它们对跨平台兼容性更好
-
如果需要实时流式数据传输,建议使用WebSocket方案替代:
const socket = new WebSocket('ws://your-server');
socket.onmessage = (event) => {
// 处理分片数据
}