Rails AJAX 发送 Post 请求 WARNING: Can't verify CSRF token authenticity

string2020 · November 03, 2014 · Last by string2020 replied at November 03, 2014 · 3912 hits

页面里面已经有:<%= csrf_meta_tag %>

只是在 js 文件里面用 jquery 发送 post 请求,提示:WARNING: Can't verify CSRF token authenticity

请问,如何解决。

请在你 post 数据中添加 csrf params: 使用 coffee 获取方法:

csrf: ->
  _params = {}
  csrf_name = $("meta[name='csrf-param']")?.attr('content')
  csrf_value = $("meta[name='csrf-token']")?.attr('content')
  _params[csrf_name] = csrf_value
  _params

正常状况下 jquery_ujs 已经加上 csrf_token 了,正常加载 jquery_ujs 了吗?

如果没用 jquery_ujs 的话 需要自己写 ajaxsetup

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

用 jquery_ujs

#3 楼 @zj0713001 谢谢,你的方法是正确的。

You need to Sign in before reply, if you don't have an account, please Sign up first.