微信小程序wx.request出现undefined

时间:2021-05-12 18:32:11

偶现,天啦噜,一直困惑了很久的bug终于找到原因了。示例代码如下

wx.request({
    sucess:function(res){
        if(res.statusCode==200 && res.data.status==200){
           //do something
        }else {
            console.log(res.statusCode);    //错误代码是console.log(res.data.status);
        }
})

①首先我想记录一下 res.statusCode和res.data.res的区别。

res.statusCode 代表的是 这次网络请求,是否成功。代表的是该次网络请求的返回码。

res.data.status 代表的 对应服务接口 返回数据中的 status(名字不固定,可以叫任何名字)

②在写错误代码的时候,res.data.status字段一直返回undefined,找了好久找不到原因。

很尴尬的是,这是请求成功里面的回调,却没有返回字段,而且服务器日志里也没收到这条请求。

后来,还是小程序的日志中,找到了错误原因。是JSON解析时候出现了错误,有些字段,服务器需要的是int型,而我传的是String类型。

解决方法:parse做个转型。转成服务器需要的数据类型,即可。

var c="222";
console.log(parseInt(c));//应该输出222

微信小程序wx.request出现undefined