You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Jean-Baptiste Quenot <jb...@apache.org> on 2007/03/02 14:42:56 UTC

Ajax request when session timed out leads to empty response

Hi there,

We have  an application  that loads a  page only  once, subsequent
interactions are only  achieved using Ajax.  But  when the session
times out, the response to any  ajax request is empty: status code
200, and empty response body.

Indeed in WebRequestCycleProcessor.resolve() an
EmptyRequestTarget() is returned because pageMap == null thus
processRequest == false.

Ideally, I would throw an exception in this case that would be
handled by RequestCycle.step().

WDYT?
-- 
     Jean-Baptiste Quenot
aka  John Banana   Qwerty
http://caraldi.com/jbq/

Re: Ajax request when session timed out leads to empty response

Posted by Igor Vaynberg <ig...@gmail.com>.
that means that request is processed only if the page/version its targetted
for is the one the browser is showing right now ( on top of pagemap's access
stack )

-igor


On 3/2/07, Jean-Baptiste Quenot <jb...@apache.org> wrote:
>
> The non-Ajax usecase works because an
> ExpiredPageClassRequestTarget is created instead of
> EmptyRequestTarget, and isOnlyProcessIfPathActive() returns false.
>
> BTW, can you please help me find a meaningful explanation for
> RequestParameters.isOnlyProcessIfPathActive():
>
>         /**
>          * Gets the only-process-if-path-active flag
>          *
>          * @see #onlyProcessIfPathActive
>          *
>          * @return the only-process-if-path-active flag
>          */
>         public boolean isOnlyProcessIfPathActive()
>         {
>                 return onlyProcessIfPathActive;
>         }
>
> TIA,
> --
>      Jean-Baptiste Quenot
> aka  John Banana   Qwerty
> http://caraldi.com/jbq/
>

Re: Ajax request when session timed out leads to empty response

Posted by Jean-Baptiste Quenot <jb...@apache.org>.
The non-Ajax usecase works because an
ExpiredPageClassRequestTarget is created instead of
EmptyRequestTarget, and isOnlyProcessIfPathActive() returns false.

BTW, can you please help me find a meaningful explanation for
RequestParameters.isOnlyProcessIfPathActive():

	/**
	 * Gets the only-process-if-path-active flag
	 * 
	 * @see #onlyProcessIfPathActive
	 * 
	 * @return the only-process-if-path-active flag
	 */
	public boolean isOnlyProcessIfPathActive()
	{
		return onlyProcessIfPathActive;
	}

TIA,
-- 
     Jean-Baptiste Quenot
aka  John Banana   Qwerty
http://caraldi.com/jbq/