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'));

},

你可能感兴趣的:(session)