jquery – 设计会话立即到期.js调用[AJAX]

前端之家收集整理的这篇文章主要介绍了jquery – 设计会话立即到期.js调用[AJAX]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通过多次尝试和错误,我将问题缩小到下面的第5行.由于某种原因,.js响应结束了用户会话.使用3.0.4和设计1.1.7(和jQuery 1.5).

此外,@organization正在更新,并且完成200 OK在日志中显示,所以用户不知道他/她已经注销,直到尝试下一个操作.

任何帮助和指导非常感谢.

*Controller*
1   def make_featured
2     @organization = Organization.find(params[:id])
3     @organization.is_featured ? @organization.update_attribute(:is_featured,"false") :   @organization.update_attribute(:is_featured,"true")
4       respond_to do |format|
5         format.js {render :action => "update",:layout => false}
6       end
7   end

*update.js.haml*
$("#organization_" + "#{@organization.id}" ).replaceWith("#{ escape_javascript(render :partial => 'users/supplier_view',:locals => {:organization => @organization}) }");

解决方法

非常感谢来自Devise Google Group的Brandon Martin,指出我正确的方向…

这是Rails 3.0.4安全修复的结果.

http://weblog.rubyonrails.org/2011/2/8/csrf-protection-bypass-in-ruby-on-rails

从这个博客文章开始一小时左右的工作后,这里有一些别人的提示

>这已经在rails.js中修复了 – 所以你不必劫持,修补或重新发明车轮.
>如果你正在使用rails.js开箱即用,更新它 – rake rails:update(我想,但是我使用了一个定制的rails.js文件)
>如果您正在使用自定义的rails.js文件,请将源代码添加到最新版本:https://github.com/fermion/jquery-ujs/blob/master/src/rails.js
将你的csrf_Meta_tag帮助器放在你的javascript_include_tags之上

希望有帮助!

猜你在找的jQuery相关文章