gpt4 book ai didi

jquery - 即使请求 header 中包含正确的 x-csrf-token,也不要在 Ajax 帖子上设置 current_user

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

使用: rails 3.0.7设计1.4.5jquery-rails 1.0.14

通过 ajax 发布数据时,Devise 未设置 current_donor。

我的请求 header 如下所示:

Host    localhost:3000
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0) Gecko/20100101 Firefox/6.0
Accept */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
x-csrf-token UFhqJrlOA1c1sAPeUTtV/ABcq5IeqkfA842ORcIWwks=

在关联的 Controller 操作中,查看 session 值,我发现以下内容:

{"_csrf_token"=>"UFhqJrlOA1c1sAPeUTtV/ABcq5IeqkfA842ORcIWwks=", "warden.user.donor.key"=>["Donor", [485], "$2a$10$OtkItrzVhN4Ussnqy5k1Au"], "session_id"=>"e6693e22275385a58e0915538791ea49"}

这向我表明 csrf_token 与预期值匹配。然而,current_donor 仍然为零。

我已经阅读了几篇关于此的文章,事实上,从一开始,csrf_meta_tag 方法并不在我的布局中,并且 csrf token 也没有被设置。

但是,情况不再是这样,csrf token 正在设置,但我仍然没有得到 current_donor 值。

当我发出 ajax get 请求时,current_donor 已正确设置。

如果您对我还应该去哪里寻找任何建议,我们将不胜感激。

最好,汤姆

最佳答案

我以前也遇到过同样的问题。我通过包含 csrf_token 解决了这个问题,如下所示

$.ajax({
type: "GET",
url: url,
data: params ,
beforeSend: function(jqXHR, settings) {
jqXHR.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
},
error: function(){
alert("An error ocurred");
},
success: function(){

}
});

关于jquery - 即使请求 header 中包含正确的 x-csrf-token,也不要在 Ajax 帖子上设置 current_user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393871/

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