gpt4 book ai didi

jquery - Rails 3.1 - CSRF 被忽略?

转载 作者:行者123 更新时间:2023-12-03 22:20:07 25 4
gpt4 key购买 nike

这是我的问题

我有一个 Rails 3.1 应用程序,我正在尝试发出 ajax 请求,但收到警告消息“警告:无法验证 CSRF token 真实性”...

在我的布局中,我有辅助方法“csrf_method_tag”,并且添加了以下 JavaScript 代码(不知道是否真的需要):

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

我的 Gemfile 包含 gem jquery-rails (>= 1.0.12),并且我需要在 application.js 顶部添加 jquery 和 jquery-ujs。

即使如此,该消息仍然出现。我是不是忘记了什么?

感谢您的帮助。

最佳答案

我也遇到了同样的麻烦。我试图捕获一个 javascript 事件(you_tube 播放器已完成)并 Ajax 返回到我的服务器来让我知道。我得到:

WARNING: Can't verify CSRF token authenticity

whenever the jQuery ajax call hit my server. I added your code fix above

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

而且效果很好。我认为唯一的区别在于我的布局

<%= csrf_meta_tags %>

而不是您在原始帖子中提到的 csrf_method_tag。
所以感谢您的修复,它在原始帖子中。

关于jquery - Rails 3.1 - CSRF 被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7270947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com