您的当前位置:首页正文

console.log(“res.data = “ + JSON.stringify(res.data));

2024-11-07 来源:个人技术集锦

res.data=[object Object] 说明你在控制台打印 res.data 时,它是一个 JavaScript 对象,而不是字符串。这种情况下,console.log 输出的 [object Object] 表示它无法直接显示对象的内容。

要查看 res.data 的实际内容,你需要将其转换为字符串格式,或者逐项输出其属性。例如,使用 JSON.stringify() 将对象转换为可读的字符串格式:

console.log("res.data = " + JSON.stringify(res.data));

这样可以更清楚地看到 res.data 的结构,从而确定 token 的具体位置。如果返回数据结构不同于预期,可以相应调整代码。

{
    "code": 0,
    "msg": "成功",
    "data": {
        "id": 56,
        "createdDate": "2023-06-14 14:08:58",
        "lastModifiedDate": "2024-10-23 18:40:19",
        "username": "",
        "phone": "",
        "status": 1,
        "remark": "",
        "pid": 1,
        "passwordAttemptCount": 0,
        "display": 0,
        "rank": 0,
        "level": 2,
        "inviterId": 55,
        "lastLoginTime": "2024-10-23 18:43:41",
        "weChatOpenId": "oMIbw5H29LXtmAUjSSm7ZrymASUI",
        "firstLogin": 1,
        "score": 1000,
        "role": "ROLE_COMPANY_SUPER",
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiI1NiIsInJvbGUiOiJST0xFX0NPTVBBTllfU1VQRVIiLCJleHAiOjE3Mjk3NjY2MjEsInVzZXJOYW1lIjoiMTg2NjE5Nzc1ODEiLCJ0eXBlIjoiYWRtaW4iLCJpYXQiOjE3Mjk2ODAyMjF9.OXj8fI07Fl6i2pMaC_IXU88x9zCWHfIRCfkjnx3uipE",
        "copywritingEditor": false,
        "communityLinkEditor": false,
        "materialInspirationer": false,
        "industryStandardEditor": false,
        "customerEditor": false,
        "logisticsCalculationEditor": false,
        "promotionRegistrationEditor": false,
        "synergyEditor": false,
        "examEditor": false,
        "pageAuditEditor": false,
        "fakeRegistrationEditor": false,
        "fakeComparor": false,
        "vip": false
    }
}

从你的 res.data 输出结果来看,token 的位置是 res.data.data.token,而不是直接从 res.data.token 读取。数据结构清晰后,你可以按如下方式访问并解析 token

success: (res) => {
    console.log("res.data = " + JSON.stringify(res.data)); // 查看完整的响应数据
    
    // 检查返回的数据结构
    if (res.statusCode === 200 && res.data && res.data.data && res.data.data.token) {
        let token = res.data.data.token; // 获取 token
        console.log("后端获取到的token=" + token);
        wx.setStorageSync('token', token); // 存储 token
        resolve(token); // 返回 token
    } else {
        reject(new Error('获取 token 失败,响应数据不符合预期'));
    }
},

现在你可以正常获取并存储从后端返回的 token

显示全文