rails 3 CSRF令牌在POST请求之前更改

时间:2013-07-31 17:26:51

标签: javascript ruby-on-rails ajax backbone.js

Rails 3,Backbone.js app。

在提交POST表单之前,CSRF令牌不会更改。

提交表单后,CSRF令牌发生变化,我收到“警告:无法验证CSRF令牌真实性”

使用ajax提交表单。

1 个答案:

答案 0 :(得分:0)

我想回复已经太迟了,但很可能是因为你从Backbone.js发送的XHR请求缺少withCredentials参数而导致的问题。如果您的POST请求不包含会话信息,则后端将为其提供新的CSRF令牌。

$.ajax({
 type: "POST",
 xhrFields: {withCredentials: true},
 //other fields
})