FB登录失败(没有错误,没有什么)
FB Login failing (no error, no nothing)
我有一个移动网络应用程序(不是iOS),我正试图使用共享对话框。我正在记录整个过程的输出,这样我就可以看到系统在哪里出了问题。当我在桌面浏览器上进行测试时,整个过程非常完美。然而,当我在iPhone上测试时,系统停在FB.login()处。查看日志,我的web应用程序运行FB.getLoginStatus()很好。响应是一个status="unknown"的对象。我有一个回调函数,记录"getLoginStatus响应"。status !=已连接",然后尝试运行FB.login(function(response){})。回调的第一行是尝试记录"FB"。登录反应"。这条线永远不会被记录。什么也不会发生。这就好像web应用程序到达FB.login(),然后不做任何事情。我试过在那个地方运行其他函数(如FB.api()),他们给我正确的错误(没有authToken)。知道是怎么回事吗?
示例代码:
FB.getLoginStatus(function(response) {
console.log('getLoginStatus response:');
console.log(response);
if(response.status != 'connected') {
console.log('getLoginStatus response.status != connected'); // THIS IS THE LAST THING I SEE IN MY CONSOLE
FB.login(function(response) {
console.log('FB.login response');
console.log(response);
if(response.status != 'connected') {
console.log('Failed to log in');
} else {
console.log('You''re logged in');
}
});
} else {
console.log('You''re logged in');
}
});
产生以下日志:
getLoginStatus response:
Object {status: "unknown", authResponse: null}
getLoginStatus response.status != connected
澄清:在此之后没有错误响应和进一步的日志。重复单击共享按钮会产生完全相同的结果。
OK -找到问题了。我在最初的问题中省略的是,这些都是在Angular.js应用程序中调用的。好吧,事实证明FB.login()函数需要在下一个周期中调用。通过简单地包装FB。AngularJS:在调用$scope时防止错误$digest已经在进行中。$apply()允许它在下一个循环中运行,现在一切都正常了。结束代码如下所示:
FB.getLoginStatus(function(response) {
console.log('getLoginStatus response:');
console.log(response);
if(response.status != 'connected') {
console.log('getLoginStatus response.status != connected');
$timeout(function(){ //THIS IS THE FIX
FB.login(function(response) {
console.log('FB.login response');
console.log(response);
if(response.status != 'connected') {
console.log('Failed to log in');
} else {
console.log('You''re logged in');
}
});
});
} else {
console.log('You''re logged in');
}
});
相关文章:
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 回复'js'仅当请求有错误时(否则使用html)
- 表单已发送,但验证有错误
- 如果文件不存在,fs.watch是否有错误处理程序
- Meteor上有错误的同步问题
- 表单验证:如果有错误,不要't使手风琴动起来
- 我有错误文档.注册元素未被细化
- 如何转换为特定于 json 的类 c#?我有错误
- 如果当前输入有错误或警告,则禁用所有下一个表单输入字段
- 通过有错误的 Ajax-Request 打印出 HTML 会阻止进一步的 JS 工作
- 脸书应用程序有错误
- XDomainRequest 总是有错误
- HTML5 Canvas游戏有错误,点击时第一个拼图块会变成不同的块
- 我在 javascript 控制台中编写一个简单的 for 循环时遇到了什么语法错误
- Page_ClientValidate返回 false,但没有一个验证器有错误
- 量角器由中继器命令中是否有错误
- Jquery 验证器 - 表单被保存但有错误
- 任何人看到我的重置功能有错误
- 现在我有错误“;ReferenceError:项未定义“;不知道如何测试我的dataService
- 如何将HTML元素ID传递给用JavaScript编写的函数以及什么's错误'ele.offset不是一