1

目前,我正在努力通过社交网络(在本例中为 facebook)从模式中启用登录并使用omniauth。因为成功时需要进行某些 dom 更改,所以我也想使用 ajax 调用。

我在coffeescript中的实际点击功能是:

(".sign-sns .facebook").click (e) ->
    FB.login (response) ->
      if response.authResponse
        $.post("/auth/facebook/callback")
        .done (response) ->
          SOME_CALLBACKS_HERE
        .fail (response) ->
          DISPLAY_SOME_ERROR

但是,当它发出 ajax 请求时,它从未真正命中路由中设置的控制器操作。如果我要手动获取或发布为 url,它会正常工作,但尝试跳过它并直接发布到回调路由似乎不起作用。

我还尝试了另一种方法,将其发布到我将链接的网址:

(".sign-sns .facebook").click (e) ->
  $.post("/auth/facebook?path=signup")
  .done (response) ->
    SOME_CALLBACKS_HERE
  .fail (response) ->
    DISPLAY_SOME_ERROR

这会击中我的控制器,但是当我尝试通过warden进行身份验证时,将没有设置omniauth参数。所以我有点卡住了。任何人都知道我可能做错了什么?

4

0 回答 0