Actually, perhaps Tapestry's client-side support should, by default, handle 302 correctly.
Currently, Tapestry's JSON response for partial page updates includes a special key for performing a redirect. On Mon, Aug 22, 2011 at 2:20 PM, Kalle Korhonen <kalle.o.korho...@gmail.com> wrote: > On Mon, Aug 22, 2011 at 1:27 PM, Gunnar Eketrapp > <gunnar.eketr...@gmail.com> wrote: >> I just rewrote my very old ProtectedPageGateKeeper that implemented >> Dispatcher with a new one >> inspired by Howard's blog >> http://tapestryjava.blogspot.com/search/label/security >> The new one implements ComponentRequestFilter and is better suited for >> protecting ajax enabled pages. >> So I thought ... >> Now to my problem: >> The redirect that takes place after an ajax call seems to disappear into >> thin air. I.e. the page displaying >> a rollling ajax loader is not redirected to my /noacess page. I have to hit >> a full page refresh for the redirect to work. >> Is there some trick needed in order to get the redirect to work for an ajax >> call. >> Sorry for asking stupid newbie questions ... of course I have missed >> something again! > > I don't think it's a stupid newbie question but obviously you cannot > just send 302 uri as a response to an ajax request. If you want a full > page refresh, you can handle it similarly how the tynamo-exceptionpage > module (http://tynamo.org/tapestry-exceptionpage+guide) handles > exceptions in ajax responses > (http://svn.codehaus.org/tynamo/trunk/tapestry-exceptionpage/src/main/java/org/tynamo/exceptionpage/services/ConfigurableRequestExceptionHandler.java). > Or, take a look at T5.3's new ajax error handler, rendering an iframe > on the fly in response to an ajax error. > > Kalle > > >> 2011-08-22 21:54:53.243 [btpool0-11] DEBUG u.s.UtskicketModule.RequestLogger >> - Request: /group/members.grid.pager/1/grid (Method=POST, >> browser=Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0, >> isXHR=true) >> 2011-08-22 21:54:53.243 [btpool0-11] DEBUG >> u.services.ProtectedPageGateKeeper2 - Page path: >> /group/members.grid.pager/1/grid >> >> 2011-08-22 22:01:06.500 [btpool0-10] DEBUG u.s.UtskicketModule.RequestLogger >> - Request: /group/members.grid.pager/7/grid (Method=POST, >> browser=Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0, >> isXHR=true) >> 2011-08-22 22:01:06.500 [btpool0-10] DEBUG >> u.services.ProtectedPageGateKeeper2 - Page path: >> /group/members.grid.pager/7/grid >> 2011-08-22 22:01:06.500 [btpool0-10] DEBUG u.s.UtskicketModule.RequestLogger >> - Request: /noaccess (Method=GET, browser=Mozilla/5.0 (Windows NT 6.1; >> rv:5.0) Gecko/20100101 Firefox/5.0, isXHR=false) >> >> Note: The return from the request above does not show up in the browser ... >> >> 2011-08-22 22:01:56.956 [btpool0-10] DEBUG u.s.UtskicketModule.RequestLogger >> - Request: /group/members/3 (Method=GET, browser=Mozilla/5.0 (Windows NT >> 6.1; rv:5.0) Gecko/20100101 Firefox/5.0, isXHR=false) >> 2011-08-22 22:01:56.960 [btpool0-10] DEBUG >> u.services.ProtectedPageGateKeeper2 - Page path: /group/members/3 >> 2011-08-22 22:01:56.964 [btpool0-10] DEBUG u.s.UtskicketModule.RequestLogger >> - Request: /noaccess (Method=GET, browser=Mozilla/5.0 (Windows NT 6.1; >> rv:5.0) Gecko/20100101 Firefox/5.0, isXHR=false) >> >> Note: Now we get to the /noaccess page >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org