gpt4 book ai didi

javascript - 通过 fb 登录网站时,我的函数 Test Api 不收集用户数据

转载 作者:行者123 更新时间:2023-12-03 00:24:50 24 4
gpt4 key购买 nike

我正在尝试在网站上通过 facebook 创建登录信息。不幸的是,当用户登录并触发函数 TestAPI() 时,我无法从用户那里获取数据。

 function TestAPI(){ 
FB.api('/me?fields=id,name,email', function response (){
if (response && !response.error){
console.log(response);
buildProfile (response);
}
})
}

function buildProfile(user){
let profile = `
<h3> $(user.name)</h3>
<p> $(user.id) </h3>
<p> $(user.email) </h3>`;

document.getElementById('profile').innerHTML = profile;
}

我在控制台中进行了以下通信:

sdk.js:108 Uncaught TypeError: Cannot set property 'innerHTML' of 
null
at buildProfile (volunteer_system.html:65)
at response (volunteer_system.html:50)
at a.__wrapper.a.__wrapper (sdk.js:108)
at D (sdk.js:123)
at Object.b.onload (sdk.js:119)
at sdk.js:119
at sdk.js:50
at XMLHttpRequest.c.onreadystatechange (sdk.js:119)

最佳答案

I get the function instead of data

console.log(response);

这会打印出函数而不是响应数据,因为 response是函数的名称,而不是传递给函数的参数的名称。考虑以下更改:

function TestAPI() { 
FB.api('/me?fields=id,name,email', function(response) {
if (response && !response.error) {
console.log(response);
buildProfile (response);
}
});
}

TypeError: Cannot set property 'innerHTML' of null

这意味着 document.getElementById('profile')返回 null,则您的 DOM 中可能不存在具有此 id 的元素,但是如果您不共享您尝试修改的 HTML 的代码摘录,则很难确认这一点。您应该有一个看起来像这样的元素:

<div id="profile"></div>

关于javascript - 通过 fb 登录网站时,我的函数 Test Api 不收集用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54134979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com