如何修复应该显示数据的授权的 [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())