使用GET插入html时如何捕获会话超时?

时间:2012-05-02 14:53:45

标签: ruby-on-rails ajax jquery

我有一个使用大量Ajax GET调用的JRuby on Rails应用程序。结果将插入HTML页面中。如果会话超时,则生成的html是登录页面。然后将此登录页面插入当前HTML页面。相反,应该重定向到登录页面......

这个问题通常是如何解决的?

1 个答案:

答案 0 :(得分:1)

你无法抓住302,因为浏览器会隐藏你 - 你的ajax请求只是看到最后的请求。

当这是一个问题时,我通常会更改我的登录代码,这样如果未登录用户尝试访问受限页面,并且请求是ajax请求,我会呈现一个特殊的状态代码(通常是4xx代码) )。检查ajax请求处理程序中的状态代码(取决于jour ajax库,通常可以设置全局处理程序),如果看到它,则将用户重定向到登录页面。