uni.request({
url:xxx,
method:'POST',
data:xxx,
success:(res)=>{
if(res.data){
switch(res.data.result){
这里res.data.result在web运行不报错,但是编译到手机端,会有一个error,
是error: Unresolved reference: result
看着像是类型推断的错误,
请问这种应该怎么处理, 我改为 res.data as any 也不行
uni.request({
url:xxx,
method:'POST',
data:xxx,
success:(res)=>{
if(res.data){
switch(res.data.result){
这里res.data.result在web运行不报错,但是编译到手机端,会有一个error,
是error: Unresolved reference: result
看着像是类型推断的错误,
请问这种应该怎么处理, 我改为 res.data as any 也不行
你先确认一下 res.data 是什么类型
如果是UTSJSONObject 需要 res.data['result'] 访问
https://doc.dcloud.net.cn/uni-app-x/uts/buildin-object-api/utsjsonobject.html
9***@qq.com (作者)
我在web上打印出来 同样的res.data,类型是object, 但是手机调试,打印出来 类型就是string,然后就出现上面的转换UTSJSONObject转换错误
9***@qq.com (作者)
感谢回复, 改为 之后,虽然编译可以通过了,但是发送请求拿到数据之后,手机端就会报错崩溃, 打印 typeof res.data发现类型是string,无法转为UTSJSONObject,请问是什么原因, 后端返回的是json对象,为什么认定为string
submit string at pages/login/index.uvue:166
13:13:28.669 error: java.lang.ClassCastException: java.lang.String cannot be cast to io.dcloud.uts.UTSJSONObject
13:13:28.669 at pages/login/index.uvue:167:6
13:13:28.669 165| success(res){
13:13:28.669 166| console.log('submit',typeof res.data)
2024-08-27 13:19
9***@qq.com (作者)
(res.data as UTSJSONObject)['result']
这是上面场景使用的代码样子
2024-08-27 13:20