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; // 获取 tokenconsole.log("后端获取到的token=" + token);wx.setStorageSync('token', token); // 存储 tokenresolve(token); // 返回 token} else {reject(new Error('获取 token 失败,响应数据不符合预期'));}
},
现在你可以正常获取并存储从后端返回的 token
。