w***@qq.com
w***@qq.com
  • 发布:2025-06-14 15:50
  • 更新:2025-06-14 15:50
  • 阅读:36

【报Bug】uni.request. 报错 TypeError: undefined is not an object (evaluating 'e.length')

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 15.5 (24F74)

HBuilderX类型: 正式

HBuilderX版本号: 4.66

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: 12 mini

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

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

预期结果:

跟 web 环境一样 ,能够在 success 里面正常进入

实际结果:

报错了 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')

2025-06-14 15:50 负责人:无 分享
已邀请:

要回复问题请先登录注册