如何修复应该显示数据的授权的 [object Object] 响应?
How to fix [object Object] response from authorization which should be showing the data?
我的问题是我在获取数据时收到空响应 [object Object]。 response.json() 与 [object Object] 相同,只是响应,但是使用 response.text() 我从受保护的路由 (passport.authenticate) 中获取文本中的 req.user 数据。授权顺利,它找到了用户,我没有得到 'Unauthorized',在我的秘密路径中,我通过 req.user 得到了用户对象。我只是无法获取此用户,所以我可以单独获取这些用户值,就像在 JSON 时一样。通常,response.json 会为我完成这项工作,但这里不会。我错过了什么吗?
我试过解析数据,字符串化数据,但他们似乎没有解决。我想我错过了什么,但我就是没看到。
app.get('/profile', passport.authenticate('jwt', { session: false }),
function(req, res) {
res.status(200).send(req.user);
}
);
{...}
const getToken = await AsyncStorage.getItem('jwt');
const response = await fetch('http://ip:3000/profile', {
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: `Bearer ${getToken}`
}
});
const data = await response;
console.log('Response: ' + data);
{...}
预期结果是fetch中的response给用户看的,或者说基本都有。json给用户看。但是它没有向用户显示它给出了 [object Object].
你应该JSON.stringify回复
console.log('Response: ' + JSON.stringify(data));
更简单,将 data
作为第二个参数传递。
console.log('Response: ', data);
object-object
输出在输出未被解析或嵌套在内部导致解析器无法读取时出现。
要解决该问题,您必须将输出转换为字符串,然后显示它们。
大概有两种方式:
1. console.log('data',JSON.Stringify(data));
2. console.log('data',data.toString())
我的问题是我在获取数据时收到空响应 [object Object]。 response.json() 与 [object Object] 相同,只是响应,但是使用 response.text() 我从受保护的路由 (passport.authenticate) 中获取文本中的 req.user 数据。授权顺利,它找到了用户,我没有得到 'Unauthorized',在我的秘密路径中,我通过 req.user 得到了用户对象。我只是无法获取此用户,所以我可以单独获取这些用户值,就像在 JSON 时一样。通常,response.json 会为我完成这项工作,但这里不会。我错过了什么吗?
我试过解析数据,字符串化数据,但他们似乎没有解决。我想我错过了什么,但我就是没看到。
app.get('/profile', passport.authenticate('jwt', { session: false }),
function(req, res) {
res.status(200).send(req.user);
}
);
{...}
const getToken = await AsyncStorage.getItem('jwt');
const response = await fetch('http://ip:3000/profile', {
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: `Bearer ${getToken}`
}
});
const data = await response;
console.log('Response: ' + data);
{...}
预期结果是fetch中的response给用户看的,或者说基本都有。json给用户看。但是它没有向用户显示它给出了 [object Object].
你应该JSON.stringify回复
console.log('Response: ' + JSON.stringify(data));
更简单,将 data
作为第二个参数传递。
console.log('Response: ', data);
object-object
输出在输出未被解析或嵌套在内部导致解析器无法读取时出现。
要解决该问题,您必须将输出转换为字符串,然后显示它们。
大概有两种方式:
1. console.log('data',JSON.Stringify(data));
2. console.log('data',data.toString())