1. ホーム
  2. ruby-on-rails

[解決済み】警告:CSRFトークンの真正性を確認できない rails

2022-04-02 11:35:50

質問

AJAXでビューからコントローラにデータを送信しているのですが、このエラーが発生しました。

<ブロッククオート

警告: CSRF トークンの信頼性を確認できません。

このトークンはデータで送らなければならないと思うのですが。

どなたか、この方法をご存じですか?

編集:私の解決策

私は、AJAX投稿の中に以下のコードを入れてこれを行いました。

headers: {
  'X-Transaction': 'POST Example',
  'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
},

解決方法は?

こうすればいいんです。

  1. があることを確認してください。 <%= csrf_meta_tag %> をレイアウトに追加します。

  2. 追加 beforeSend をすべてのajaxリクエストに追加して、以下のようにヘッダを設定します。


$.ajax({ url: 'YOUR URL HERE',
  type: 'POST',
  beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
  data: 'someData=' + someData,
  success: function(response) {
    $('#someDiv').html(response);
  }
});

すべてのリクエストでトークンを送信するには、次のようにします。

$.ajaxSetup({
  headers: {
    'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
  }
});