Rai*_*ner 3 ruby ruby-on-rails devise ruby-on-rails-3
我遇到了类似这个问题的问题:jQuery Ajax调用Rails 3获得401 Unauthorized Request
我已将token_authenticatable添加到我的设计模型中.
在我对ajax调用的操作中:
def rate
params[:kon][:IP] = request.remote_ip
params[:kon][:tag_id] = params[:id]
@konkurrencer = Tagrating.new(params[:kon])
@konkurrencer.save
@konkurrencer.tag.rating_score += params[:kon][:ratings].to_i
@konkurrencer.tag.ratings += 1
@konkurrencer.save
render :nothing => true
end
Run Code Online (Sandbox Code Playgroud)
如何验证ajax调用?
如何获取当前用户的令牌密钥.我试过了:<%= current_user.token_authentication_key %>
Tra*_*odd 14
作者发布这是一个CSRF令牌问题.虽然发布的解决方案有效,但它并不安全.在这个问题中提出了一个更好的解决方案:https://stackoverflow.com/a/8175979/696610
我在这里复制它:
你应该做这个:
确保<%= csrf_meta_tag %>您的布局中有
添加beforeSend到所有ajax请求以设置标题如下:
$.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);
}
});
Run Code Online (Sandbox Code Playgroud)
感谢/sf/users/73702541/答案.
| 归档时间: |
|
| 查看次数: |
6003 次 |
| 最近记录: |