我正在尝试将从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
内;