[
https://issues.apache.org/jira/browse/WICKET-2877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michel DAVID updated WICKET-2877:
---------------------------------
Description:
When no http session exists the URL of wicket-ajax.js is suffxed with
;jsessionid token.
Then you can register preCallHandler or postCallHandler for the ajax requests
with Wicket.Ajax.registerPreCallHandler(..) and
Wicket.Ajax.registerPostCallHandler(...).
But if the browser supports cookies the result of an ajax request return a
response with the wicket-ajax.js without ;jsessionid token. Then the browser
download this "new" file and evaluate it. This evaluation clears all the
preCallHandler and postCallHandler registrations and the postCallHandler you
registered is never call.
A workaround is to add explicitly the wicket-ajax.js in your page (without the
;jsessonid token).
As a fix maybe you can add
if (typeof(Wicket.Ajax) == "undefined") { .. } around Wicket.Ajax = { ... } (or
around the whole file) like in wicket-event.js to prevent this.
was:
When no http session exists the URL of wicket-ajax.js is suffxed with
;jsessionid token.
Then you can register preCallHandler or postCallHandler for the ajax requests
with Wicket.Ajax.registerPreCallHandler(..) and
Wicket.Ajax.registerPostCallHandler(...).
But if the browser supports cookies the result of an ajax request return a
response with the wicket-ajax.js without ;jsessionid token. Then the browser
download this "new" file and evaluate it. This evaluation clears all the
preCallHandler and postCallHandler registrations and the postCallHandler you
registered is never call.
A workaround is to add explicitly the wicket-ajax.js in your page (without the
;jsessonid token).
> PreCallHandler and PostCallHandler registrations are lost when ;jsessionid is
> removed in javascript files URL
> -------------------------------------------------------------------------------------------------------------
>
> Key: WICKET-2877
> URL: https://issues.apache.org/jira/browse/WICKET-2877
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4.8
> Reporter: Michel DAVID
>
> When no http session exists the URL of wicket-ajax.js is suffxed with
> ;jsessionid token.
> Then you can register preCallHandler or postCallHandler for the ajax requests
> with Wicket.Ajax.registerPreCallHandler(..) and
> Wicket.Ajax.registerPostCallHandler(...).
> But if the browser supports cookies the result of an ajax request return a
> response with the wicket-ajax.js without ;jsessionid token. Then the browser
> download this "new" file and evaluate it. This evaluation clears all the
> preCallHandler and postCallHandler registrations and the postCallHandler you
> registered is never call.
> A workaround is to add explicitly the wicket-ajax.js in your page (without
> the ;jsessonid token).
> As a fix maybe you can add
> if (typeof(Wicket.Ajax) == "undefined") { .. } around Wicket.Ajax = { ... }
> (or around the whole file) like in wicket-event.js to prevent this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.