警告:无法验证 CSRF 令牌真实性导轨 [英] WARNING: Can't verify CSRF token authenticity rails

查看:35
本文介绍了警告:无法验证 CSRF 令牌真实性导轨的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 AJAX 将数据从视图发送到控制器,但出现此错误:

I am sending data from view to controller with AJAXand I got this error:

警告:无法验证 CSRF 令牌的真实性

WARNING: Can't verify CSRF token authenticity

我想我必须将此令牌与数据一起发送.

I think I have to send this token with data.

有人知道我该怎么做吗?

Does anyone know how can I do this ?

我的解决方案

我通过将以下代码放入 AJAX 帖子中来做到这一点:

I did this by putting the following code inside the AJAX post:

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

推荐答案

你应该这样做:

  1. 确保您的布局中有 <%= csrf_meta_tag %>

beforeSend 添加到所有 ajax 请求中以设置标题,如下所示:

Add beforeSend to all the ajax request to set the header like below:

<小时>

$.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);
  }
});

要在您可以使用的所有请求中发送令牌:

To send token in all requests you can use:

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

这篇关于警告:无法验证 CSRF 令牌真实性导轨的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆