Rails 4 Ajax请求,没有真实性令牌

Mat*_*rez 4 ajax jquery ruby-on-rails authenticity-token

我在我的应用程序中通过javascript发送一些非常简单的ajax帖子和补丁请求.功能很好,按预期工作.但是,我没有在ajax请求参数中看到真实性令牌,它仍然有效.

javascript(jQuery)

$.ajax({
  type:'PATCH', 
  url: '/dashboard/goals/#{@goal.id}.js', 
  data: $.param({ 
    new_invitation: { 
      recipient_id: recId, 
      type: "GoalInvite", 
      user_id : #{current_user.id}
    }
  })
}); 
Run Code Online (Sandbox Code Playgroud)

并且参数在日志中显示如下 -

Parameters: {"new_invitation"=>{"recipient_id"=>"24", "type"=>"GoalInvite", "user_id"=>"23"}, "id"=>"234"}
Run Code Online (Sandbox Code Playgroud)

没有真实性令牌.我想我知道如何添加它,但我很惊讶它甚至没有它.任何人都可以对此有所了解吗?

Sha*_*goz 12

如果您检查请求对象,您(希望)会看到有一个名为HTTP_X_CSRF_TOKEN包含真实性令牌的请求标头.该jquery_ujs库负责的这个给你,让你不必手动包括AJAX请求令牌.