在 rails 4 应用程序中,我无法通过 jquery 中的答案传递 csrf 令牌

In a rails 4 app I am having trouble passing the csrf token with an answer in jquery

第html页:

<head>
  ...
  <%= csrf_meta_tags %>
  ...
</head>

jquery:

$(".on_click").click(function() {
    $("#spinner").show();

    var token = $('meta[name="csrf-token"]').attr('content');
    var ans = $(this).attr('ans');
    var url = ... + "/?ans=" + ans + "&_csrf=" + token;

    $.post(url, function(html) {
        $("#spinner").hide();
    });
});

更新:

糟糕...忘记提及错误:Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)

提前致谢。

您可以通过以下方式设置令牌发送所有请求:

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

或者对于像您这样的特定请求:

$.ajax({ 
    url: 'YOUR URL HERE',
    type: 'POST',
    beforeSend: function(xhr) {
      xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
      data: //data here,
      success: function(response) {
        //some code
      }
    }
});