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
。