0

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

这个问题一般是怎么解决的?

4

1 回答 1

1

您无法捕获 302,因为浏览器对您隐藏了它 - 您的 ajax 请求只会看到最终请求。

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

于 2012-05-02T15:00:20.107 回答