脸书登录获取错误。 "Cannot read property 'id' of undefined"



我正在尝试将从Facebook登录接收的数据获取到后端服务器,但是我无法解决此错误,我似乎无法弄清楚。

有人可以帮助我,会很可爱,提前谢谢。

这是我的按钮功能:

facebookSignin() {
FBLoginManager.loginWithPermissions(['public_profile', 'email'], (error, data) => {
if (error) {
console.log(error);
}
let profile;
try {
profile = JSON.parse(data.profile);
console.log(data.profile);
} catch (error) {
console.log(error);
}
/* signin on server with token */
return fetch(`http://${this.serverHost}/users/signin/provider`, {
method: 'POST',
headers: new Headers({ 'Content-Type': 'application/json' }),
body: JSON.stringify({
provider: 'facebook',
id: profile.id,
email: profile.email,
name: profile.name,
token: data.credentials.token
})
})
.then(data => data.json())
.then(data => {
/* get user data and auth token from server */
console.log(data);
});
});
}

我收到错误:

"无法读取未定义的属性'id'">

您解析try块中的数据,但尝试访问person块外的数据。

如果您通过JSON.parse变量persons得到错误,则仍会undefined。当您尝试阅读它的道具id您会"Cannot read property 'id' of undefined"收到错误。

JSON.parse后将fetch代码块放入try内;

相关内容

  • 没有找到相关文章

最新更新