5***@qq.com
5***@qq.com
  • 发布:2022-11-23 23:38
  • 更新:2022-11-24 09:08
  • 阅读:53

request接收不到后台的返回值

分类:uni-app

为啥我请求后台,然后没有返回值???当我把后台返回值改成123时,就可以拿到,而且数据量也不大,才几K。官方不是说建议50K以内吗?

2022-11-23 23:38 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者)

而且我的后台已经显示200了,值已经返回了,但我uniapp这边就是接收不到

呆狗的一生

呆狗的一生 - 呆狗的一生

你的这段示例代码存在很大的问题。你对javascript回调函数promise不明白。这属于基础语法,建议学习阮一峰《ECMAScript 6 入门教程》,点击查看;你可以把代码改为如下:

function request() {  
    return new Promise((resolve, reject) => {  
        uni.request({  
            url: ' ',  
            success: (res) => {  
                resolve(res) // resolve(res.data)  
            }  
        })  
    })  
}

因为uni的api本来就可以返回Promise。你也可以这样:

function request2() {  
    return uni.request({ url: ' ' }).then(res => res[1].data)  
}

关于api的Promise问题,点击查看

  • 5***@qq.com (作者)

    好的,谢谢,我回头试一下

    2022-11-24 10:10

  • 5***@qq.com (作者)

    我想多问一下,那为什么官网的案例也是这么写的,是什么问题,还有我把返回值改成123或者其他简单地字典就可以获取到呢

    2022-11-24 13:06

  • 呆狗的一生

    回复 5***@qq.com: 官网只是演示基本用法,更多代码未能展示。因为你代码不全,不知道你具体是怎么用的,上传最小复现问题的demo,我看看

    2022-11-24 13:21

  • 5***@qq.com (作者)

    回复 呆狗的一生: 我找到了,并不是uniapp写法问题,而是我后台是python,Python中空值是“None”,uniapp无法解析这个,所以就相当于取不到数据

    2022-11-25 13:58

要回复问题请先登录注册