LoginSignup
7
7

More than 5 years have passed since last update.

[Rails] Ajaxでリクエストを送っていて、セッションが切れるとき

Posted at

ケース1: csrf_meta_tagsを付け忘れている

application.html.erb
<head>
  <%= csrf_meta_tags %>
</head>
  • 他の場所からレイアウトをコピペしたときに、上記タグが削除されたまま、ということがあった。
  • ここでcsrf-tokenを引き回しているので、忘れずに足しておいてね。

ケース2.ajaxでリクエストを送るときに、csrfトークンがマッチしていない

ajax.js
$.ajaxSetup({
  beforeSend: function(xhr) {
    xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
  }
});
  • jquery-fileupload-railsなどを使っていて、ajaxリクエストを送っているとき
  • csrf-tokenの引き回しができていなかったようなので、上記コードが必要でした

-

参考
https://stackoverflow.com/questions/5126721/rails-not-reloading-session-on-ajax-post/5127927#5127927

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7