获取API向rails服务器发出请求

时间:2016-08-22 18:49:19

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

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

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

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

  3. 无法找到有关此主题的任何资源,并且在通过ajax进行调用时我已成功使用完全相同的代码,因此我知道问题与我的切换到获取有关

1 个答案:

答案 0 :(得分:0)

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

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

相关问题