JavaScript Facebook登录重定向URI

3
我是一个Facebook API的新手,我使用Facebook应用程序登录时,但当我进入任何页面时,API会重定向到主页面。我想留在我所在的页面。 例如: 我在“main/news/nba-orlando”页面上,我想使用Facebook登录并单击按钮,然后弹出窗口显示。如果我接受,API将重定向到“main”,但我想留在“main/news/nba-orlando”页面...我该怎么办?
FB.init({
    appId        : '{api_id}',
    redirect_uri : document.URL,
    cookie       : true,
    xfbml        : true,
    version      : 'v2.5'
});

你将redirect_uri设置为什么? - WizKid
@WizKid,此时的重定向URI为main/news/nba-orlando(www.{site_name}.com/main/news/nba-orlando),可以吗? - maviofis
也许您不需要这行代码: redirect_uri : document.URL,将其删除即可使其正常工作。 - apnerve
1个回答

5

FB.init 仅用于初始化 JavaScript SDK,并且在文档中并没有 redirect_uri 参数。而FB.login 则是用于登录的,您可以在登录后使用 JavaScript 进行重定向:

FB.login(function(response) {
    if (response.authResponse) {
        //user just authorized your app
        window.location.href = 'xxx';
    }
}, {scope: 'email'});

更多信息: http://www.devils-heaven.com/facebook-javascript-sdk-login/

抱歉,我无法处理那个错误描述。这是什么意思?你调试代码了吗? - andyrandy
阅读我在回答中添加的整篇文章。登录 JS SDK 所需的所有内容都在其中,附有完整示例。重定向可以直接使用我回答中的代码完成。 - andyrandy
我已经尝试过了,但是没有起作用。登录后页面跳转到主页。我希望页面停留在使用此登录按钮的位置。 - maviofis
1
那么...不要重定向? ;) - 只需删除带有window.location.href的行,它就会停留在页面上。我以为你想要重定向,因为你试图使用redirect_uri... - andyrandy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接