2016-08-22 73 views
3

使用fetch API調用Rails服務器會導致一些使用ajax時不會發生的問題。將API請求發送到rails服務器

  1. CSRF,使用jQuery軌道寶石自動放置在請求CSRF令牌,有沒有辦法做到與獲取類似的效果?

  2. 會話cookie不會持續頁面重新加載。我正在使用會話令牌來存儲當前用戶會話並登錄,然後在應該保留會話時刷新會話。

已經沒法找到任何關於這一問題的資源,並使得通過AJAX調用時,我已經成功地使用完全相同的代碼,所以我知道這個問題是關係到我的開關來獲取

回答

0
  1. 我正在努力研究這一個現在。當我弄明白的時候,我會更新這個答案。但基本的想法是你需要傳遞'X-CSRF-Token'標題。您可以使用此代碼獲取CSRF令牌,如果你使用jQuery:

    $('meta[name=csrf-token]').attr('content') 
    
  2. 默認情況下,fetch不包括餅乾。你必須通過這個選項:credentials: 'same-origin'。看到這個問題:Fetch API with Cookie