[
https://issues.apache.org/jira/browse/WICKET-5039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579834#comment-13579834
]
Ernesto Reinaldo Barreiro commented on WICKET-5039:
---------------------------------------------------
I will try to produce a quickstart tomorrow morning... I have also asked my
client if he can provide an example for this "use case". Or maybe some of the
other core developer can shed some light about what this "special" case was
introduced... I find it dangerous because of that you mention above and also
because nothing prevent users from calling notify(); several times e.g.
expression A|{A();A();A();}...
> ajax post call handlers might not get called because of failure on AJAX
> processEvaluation function
> --------------------------------------------------------------------------------------------------
>
> Key: WICKET-5039
> URL: https://issues.apache.org/jira/browse/WICKET-5039
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4.21, 1.5.8, 6.5.0
> Environment: any
> Reporter: Ernesto Reinaldo Barreiro
> Priority: Trivial
> Attachments: WICKET-5039.patch
>
> Original Estimate: 0h
> Remaining Estimate: 0h
>
> We are having problems on Wicket 1.4.x with and "AJAX function"
> processEvaluation... and I see the code is practically the same at 6.x. So,
> let's bring the subject to the list...
> Our problem is that after evaluating some expressions with errors, screen
> "freezes" because post-call handlers are not called. Problem seems to be
> related to the code.
> // test if the javascript is in form of
> identifier|code
> // if it is, we allow for letting the
> javascript decide when the rest of processing will continue
> // by invoking identifier();
> var res = text.match(new
> RegExp("^([a-z|A-Z_][a-z|A-Z|0-9_]*)\\|((.|\\n)*)$"));
> if (res !== null) {
> var f = jQuery.noop;
> text = "f = function(" + res[1] + ") {"
> + res[2] + "};";
> try {
> // do the evaluation
> eval(text);
> f(notify);
> } catch (exception) {
>
> Wicket.Log.error("Wicket.Ajax.Call.processEvaluation: Exception evaluating
> javascript: " + exception + ", text: " + text);
> }
> }
> In case of error. Shouldn't it be
> try {
> // do the evaluation
> eval(text);
> f(notify);
> } catch (exception) {
>
> Wicket.Log.error("Wicket.Ajax.Call.processEvaluation: Exception evaluating
> javascript: " + exception + ", text: " + text);
> notify();
> }
> So that next steps in processing get called. The above solves or freezing
> problem in case of error
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira