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

string2020 · 2014年11月03日 · 最后由 string2020 回复于 2014年11月03日 · 3726 次阅读

页面里面已经有: <%= 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 谢谢,你的方法是正确的.

需要 登录 后方可回复, 如果你还没有账号请 注册新账号