Ernesto Reinaldo Barreiro created WICKET-5039:
-------------------------------------------------
Summary: ajax post call handlers might not get called because of
failure on problems with processEvaluation function
Key: WICKET-5039
URL: https://issues.apache.org/jira/browse/WICKET-5039
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 6.5.0, 1.5.8, 1.4.21
Environment: any
Reporter: Ernesto Reinaldo Barreiro
Priority: Trivial
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