服务器返回一个 protobuf 的全部默认值 就会出现,不是全部是默认值就没问题

- 发布:2025-06-14 15:50
- 更新:2025-06-14 15:50
- 阅读:36
【报Bug】uni.request. 报错 TypeError: undefined is not an object (evaluating 'e.length')
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 15.5 (24F74)
HBuilderX类型: 正式
HBuilderX版本号: 4.66
手机系统: iOS
手机系统版本号: iOS 17
手机厂商: 苹果
手机机型: 12 mini
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
跟 web 环境一样 ,能够在 success 里面正常进入
跟 web 环境一样 ,能够在 success 里面正常进入
实际结果:
报错了 TypeError: undefined is not an object (evaluating 'e.length')
报错了 TypeError: undefined is not an object (evaluating 'e.length')
bug描述:
uni.request 在
Content-type=application/x-protobuf
responseType: 'arraybuffer',
dataType: 'protobuf',
的时候; 如果服务器返回的数据是 定义的 protobuf 默认值:
例如: message Success {
bool success = 1;
}
服务器返回了 Success.success=0 ;
这个时候,抓包看 服务器返回的 contentLength 是 0
然后在 web环境正常, IOS 环境下面 uni.request 的 success fail complete 方法都不能进入;控制台报错 TypeError: undefined is not an object (evaluating 'e.length')
0 个回复