`
jxpwyd
  • 浏览: 24280 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails ajax post方式提交表单,session丢失的解决办法

阅读更多

rails3  里面 如果开启了protect_from_forgery。那么在提交的postData中就必须加入token这个字段来通过rails的后端验证,ajax 提交的时候没有带token , 提交后session就会重置!

解决方法是

在页面加上:

 

 

<meta name="csrf-token" content="<%= form_authenticity_token %>" />

<meta name="csrf-param" content="authenticity_token" />

 

ajax提交之前:

 

 

beforeSend: function(xhr) {

                xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));

},

分享到:
评论
1 楼 该用户名已存在 2012-03-13  
有<%= csrf_meta_tag %>页面上不就有<meta name="csrf-token" content="<%= form_authenticity_token %>" />
<meta name="csrf-param" content="authenticity_token" />了吗?

相关推荐

Global site tag (gtag.js) - Google Analytics