You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Didier Villevalois (JIRA)" <ji...@apache.org> on 2013/02/18 15:03:13 UTC

[jira] [Commented] (WICKET-4881) IE 8 : error when handling Wicket Ajax Response

    [ https://issues.apache.org/jira/browse/WICKET-4881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13580614#comment-13580614 ] 

Didier Villevalois commented on WICKET-4881:
--------------------------------------------

I'm a bit annoyed by the commit that fixes this bug: https://github.com/apache/wicket/commit/cbf76d0e8c355876e302699c0975971773941ae9
I understand that this is needed for IE compatibility but, indeed, it does completely removes the possibility to use the notify callback in the evaluated Javascript code. (see: https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js#L1045)

I would need that to defer DOM replacements after a modal window close animation.

We can keep the IE-needed concatenation of evaluations by adding some Java APIs to:
1) Explicitly ask for a particular script to be in its own "[priority-]evaluate" element (just like IJavascriptResponse does for appended-scripts)
2) Pass an additional string to name the notify callback name

May I open a feature request issue for that, or should I use this bug as its fix broke an existing feature ? I can provide patches.
                
> IE 8 : error when handling Wicket Ajax Response
> -----------------------------------------------
>
>                 Key: WICKET-4881
>                 URL: https://issues.apache.org/jira/browse/WICKET-4881
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.2.0, 6.3.0
>         Environment: Internet Explorer 8, Windows 7 64 bits
>            Reporter: Frédéric Donckels
>            Assignee: Martin Grigorov
>             Fix For: 6.4.0
>
>         Attachments: WICKET-4881.patch, wicket_bug_report.7z, wicket_bug_report.zip
>
>
> I have a problem with Wicket 6.2.0/6.3.0 and IE (this works perfectly with Chrome or Firefox). I have a list of items, with Ajax links in the list. The response to the Ajax link modifies a panel from the page, and redraws the list (its container).
> IE does at least some of the changes correctly, but outputs an error, and it seems that subsequent Ajax request fail:
>        (... some UI code ...)
>    (... Jquery and Wicket ajax references ...)
> <script type="text/javascript" id="wicket-ajax-base-url">
> /*<![CDATA[*/
> Wicket.Ajax.baseUrl="other/bictables/list";
> /*]^]^>*/
> </script>
> </head>]]></header-contribution><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-interaction-view-toolbar-AMEND","e":"click","c":"AMENDea"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-interaction-view-toolbar-RETURN","e":"click","c":"RETURNec"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-0-actions-view","e":"click","c":"viewf2"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-0-actions-edit","e":"click","c":"editf3"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-0-reorder-down","e":"click","c":"downf4"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-1-actions-view","e":"click","c":"viewf5"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-1-actions-edit","e":"click","c":"editf6"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-1-reorder-up","e":"click","c":"upf7"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-1-reorder-down","e":"click","c":"downf8"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-2-actions-view","e":"click","c":"viewf9"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-2-actions-edit","e":"click","c":"editfa"});]]>
>    (... lots of similar code from the table ...)
> <evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-17-actions-edit","e":"click","c":"edit136"});]]></evaluate><evaluate><![CDATA[Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-17-reorder-up","e":"click","c":"up137"});]]></evaluate></ajax-response>
> INFO: returned focused element: http://localhost:8080/payments/app/other/bictables/list?3#
> INFO: returned focused element: null
> ERROR: Wicket.Ajax.Call.processEvaluation: Exception evaluating javascript: [object Error], text: Wicket.Ajax.ajax({"u":"./list?3-1.IBehaviorListener.0-entities-entitiesList-bictables-7-actions-view","e":"click","c":"view10d"});
> ERROR: FunctionsExecuter.processNext: [object Error]
>     ERROR: Wicket.Ajax.Call.processEvaluation: Exception evaluating javascript: [object Error], text: Wicket.Ajax.ajax({"u":"./list?2-4.IBehaviorListener.0-entities-entitiesList-bictables-7-actions-  view","e":"click","c":"view2cb"});
>     ERROR: FunctionsExecuter.processNext: [object Error]
> all subsequent Ajax requests lead to :
> INFO: Channel '0' is busy - scheduling the callback to be executed when the previous request finish
> Is this a bug in Wicket, in IE? Any way to circumvent it if it's in IE?

--
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