VOOZH about

URL: https://qiita.com/ryosuke-endo/items/738b4bdaffc07c337a70

⇱ railsでaxiosを使用してpostする #JavaScript - Qiita


👁 Image
29

Go to list of users who liked

28

Share on X(Twitter)

Share on Facebook

Add to Hatena Bookmark

More than 5 years have passed since last update.

@ryosuke-endo

railsでaxiosを使用してpostする

29
Posted at

railsでajax通信しようとすると、大概Can't verify CSRF token authenticity で怒られると思います。

axiosでいきなりpostすると、こんなログが発行されいると思います。

セキュリティ上、変なデータ送信されないようにしているので、仕方ないですね。

CSRF tokenの発行場所

では、普段のjqueryではなぜ意識せずに使用できていたのか?

それは下記のようにmeta nameに設定しているからです。

<meta name="csrf-token" content="F6dek0xG3Kl/8fc8wlAdAdwWNgBhJ/O8da3ziVQG5y9yOxO7QUS8QVbro9+pLYF9/+qkHXQtrSwIcUteffGd1A==" />

これを$.ajaxを使用するときは勝手に設定してくれていたわけです。

それが外れたので、エラーになってます。

ということは、きちんと設定すれば行けます。

設定方法

axios.defaults.headers['X-CSRF-TOKEN'] = $('meta[name=csrf-token]').attr('content')

これを加えることで、headersに値を設定することができます。

参考

29

Go to list of users who liked

28
0

Go to list of comments

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
29

Go to list of users who liked

28