I still havn't managde to get ajax calls to redirect.

I changed to reload as a I saw in this mailing list.
In Chromes debugger I can see that the timed out ajax call returns ..

{"script":"window.location.reload();"}

... but nothing happens on the client side.

So the question is still open do I have to do something to enable this ?

Thanks in advance!

2011/8/24 Magnus Kvalheim <mag...@kvalheim.dk>

> No sorry, that's not relevant for this. Eager to help, but I should
> have paid more attention to detail :)
>
> On Wed, Aug 24, 2011 at 8:33 AM, Magnus Kvalheim <mag...@kvalheim.dk>
> wrote:
>
> > I sometimes use a proxy for doing redirects.
> >
> > *public class RedirectProxy {*
> > * @Persist private String redirectURL;*
> > * @Inject private ComponentResources _resources;*
> > * Object onActivate(){*
> > * try {*
> > * URL url = new URL(redirectURL);*
> > * return url;*
> > * } catch (Exception e) {*
> > * // TODO: handle exception*
> > * } finally{*
> > * _resources.discardPersistentFieldChanges(); *
> > * }*
> > * return Index.class;*
> > * }*
> > * public void setRedirectURL(String redirectURL) {*
> > * this.redirectURL = redirectURL;*
> > * }*
> > *
> > *
> > * public String getRedirectURL() {*
> > * return redirectURL;*
> > * }*
> > *}*
> >
> > Then from an eventhandler:
> > *redirectProxy.setRedirectURL(u);*
> > *return redirectProxy;*
> >
> > It could perhaps be useful for this case?
> >
> > --magnus
> >
> > On Tue, Aug 23, 2011 at 11:00 PM, Gunnar Eketrapp <
> > gunnar.eketr...@gmail.com> wrote:
> >
> >> Hum .. this did not work so I guess I have to do something on the client
> >> side as well ...
> >>
> >>           if (request.isXHR()) {
> >>                OutputStream os =
> >> response.getOutputStream("application/json;charset=UTF-8");
> >>                os.write(("{\"script\":\"window.location.replace('" +
> >> link.toAbsoluteURI() + "');\"}").getBytes());
> >>                os.close();
> >>            } else {
> >>                response.sendRedirect(link);
> >>             }
> >>
> >>
> >> 2011/8/23 Kalle Korhonen <kalle.o.korho...@gmail.com>
> >>
> >> > On Mon, Aug 22, 2011 at 4:42 PM, Howard Lewis Ship <hls...@gmail.com>
> >> > wrote:
> >> > > Actually, perhaps Tapestry's client-side support should, by default,
> >> > > handle 302 correctly.
> >> >
> >> > Yes, perhaps so. But the correctness is "in the eye of the beholder".
> >> > It's clear that a 302 response to a non-ajax request always causes a
> >> > redirect, but not necessarily so for an ajax request. If the default
> >> > behavior was easily overridable then yes, why not. Perhaps I should
> >> > just bring tapestry-exceptionpage functionality to the core.
> >> >
> >> > Kalle
> >> >
> >> >
> >> > > 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
> >> > >
> >> > >
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >> >
> >> >
> >>
> >>
> >> --
> >> [Hem: 08-715 59 57, Mobil: 070-991 86 42]
> >> Allévägen 2A, 132 42 Saltsjö-Boo
> >>
> >
> >
>



-- 
[Hem: 08-715 59 57, Mobil: 070-991 86 42]
Allévägen 2A, 132 42 Saltsjö-Boo

Reply via email to