【问题标题】:Fetch API making requests to rails server获取向 Rails 服务器发出请求的 API
【发布时间】:2016-12-29 10:17:34
【问题描述】:

使用 fetch API 调用 Rails 服务器会导致一些使用 ajax 时不会出现的问题。

  1. CSRF,使用 jquery,rails gem 会自动将 CSRF 令牌放入请求中,有没有办法通过 fetch 完成类似的效果?

  2. 会话 cookie 不会持续重新加载页面。我正在使用会话令牌来存储当前用户会话并登录,然后在应该保留会话时刷新擦除会话。

一直无法找到有关此主题的任何资源,并且我在通过 ajax 进行调用时成功使用了完全相同的代码,所以我知道问题与我切换到 fetch 相关

【问题讨论】:

    标签: ruby-on-rails cookies fetch-api


    【解决方案1】:
    1. 我正在努力解决这个问题。当我弄清楚时,我会更新这个答案。但基本思想是您需要传递“X-CSRF-Token”标头。如果您使用的是 jQuery,则可以使用此代码获取 csrf 令牌:

      $('meta[name=csrf-token]').attr('content')
      
    2. 默认情况下,fetch 不包括 cookie。您必须通过此选项:credentials: 'same-origin'。看到这个问题:Fetch API with Cookie

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      相关资源
      最近更新 更多