Forum: Ruby on Rails how to catch AJAX calls on session-timeout?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
80e4cb97cae5c8d745f72337d93fd8f2?d=identicon&s=25 MaD (Guest)
on 2009-03-06 09:31
(Received via mailing list)
hallo everybody,

my problem is the following:
on one of our rails-apps we implemented session-expiry, so that the
user gets redirected to our login-page whenever his session has timed-
out. this is working fine for normal http-requests. however, for AJAX-
calls that only update a certain div of the page it is not! the
redirection works, but (as one would expect) only that specified div
gets updated, so our login page gets rendered inside the div.

i'm looking for a solution that reloads the whole page and shows the
login-screen without having to include an on-failure-section in all of
our AJAX-calls (because there are many of them). surely there must be
approaches on that subject already. but it's hard to google without
some keywords to look for.

thanks
MaD
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-03-06 11:39
(Received via mailing list)
On Mar 6, 8:31 am, MaD <mayer.domi...@gmail.com> wrote:
> i'm looking for a solution that reloads the whole page and shows the
> login-screen without having to include an on-failure-section in all of
> our AJAX-calls (because there are many of them). surely there must be
> approaches on that subject already. but it's hard to google without
> some keywords to look for.
>
This happens because the browser handles the redirect without the
javascript ever seeing it. The way I handle it is that if the request
is an ajax one and they are no longer logged in then I set a header
instead of redirecting. The client side code. In my app all ajax
requests are made by javascript object that derive from a common base
class and which basically have a callback chain of onCompletes one of
which checks this, so I don't need to repeat this for every ajax
request. You can probably also do it with an Ajax.Responder

Fred
80e4cb97cae5c8d745f72337d93fd8f2?d=identicon&s=25 MaD (Guest)
on 2009-03-06 13:01
(Received via mailing list)
i'm gonna try that. thanks!
This topic is locked and can not be replied to.