使用 fetch API 调用 Rails 服务器会导致一些使用 ajax 时不会出现的问题。
CSRF,使用 jquery,rails gem 自动将 CSRF token 放入请求中,有没有办法通过 fetch 实现类似的效果?
session cookie 不会持久保存页面重新加载。我使用 session token 来存储当前用户 session 并登录,然后刷新会在应该保留 session 时删除 session 。
无法找到有关此主题的任何资源,并且我在通过 ajax 进行调用时成功地使用了完全相同的代码,所以我知道问题与我切换到 fetch 有关
最佳答案
我现在正在努力解决这个问题。当我弄清楚时,我会更新这个答案。但基本思想是您需要传递“X-CSRF-Token” header 。如果您使用 jQuery,则可以使用此代码获取 csrf token :
$('meta[name=csrf-token]').attr('content')
默认情况下,
fetch
不包含 cookie。您必须传递此选项:credentials: 'same-origin'
。看这个问题:Fetch API with Cookie
关于ruby-on-rails - Fetch API 向 Rails 服务器发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39086715/