我正在尝试使用 JavaScript 制作“继续使用 Facebook”按钮,但我无法使用 C# 将返回的详细信息存储在我的代码中。
我尝试过使用asp:HiddenField,但它不起作用。另外,使用 div 然后获取 innerHtml 会返回 "\r\n"。
我现在的代码:
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Successful login for: ' + response.name);
document.getElementById('status').innerText =
'Thanks for logging in, ' + response.name + '!';
});
}
<div id="status" runat="server"></div>
在我的页面中它显示了div的内容。
但是当我尝试将其放入 asp:Label 中以便使用详细信息时,它返回 null。我正在使用lblStatus.Text = status.InnerHtml
。
我做错了什么?
更新: 我解决了这个问题,添加了一个 asp:button 并在我的 javascript 函数中获取详细信息时触发单击事件。这样,服务器端将在客户端已经设置了我的 div 的值之后。
最佳答案
在页面发送到客户端之前,所有 asp 标记都在服务器端呈现。您的 testAPI() 函数是 javascript,在客户端收到页面后,它在客户端上执行,因此所有 asp 标记都已呈现。
关于javascript - 在后面的代码中获取 Facebook 登录详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47220264/