Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-4464

AbstractTransformerBehavior breaks ajax requests in IE8

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.4.20
    • Fix Version/s: None
    • Component/s: wicket
    • Labels:

      Description

      AbstractTransformerBehavior sets ┬┤webResponse.setContentType("text/" + getMarkupType(component) + "; charset=" + encoding);┬┤

      This delegates to the page and in our case usually returns "text/html".

      In ajax-request this overwrites the required setting for ajax "text/xml". If IE8 receives an ajax-response as "text/html" then in wicket-ajax.js:1049 the xmldoc = t.responseXml is null and the error is:
      "ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not find root <ajax-response> element".

      This error was created by https://issues.apache.org/jira/browse/WICKET-3633.

      Possible un-/fixes:

      • Changing the markuptype on page level to "xml" in ajaxrequests might break functionality.
        + let only AbstractTransformerBehavior consider ajaxrequests and then set xml
        + at least: make org.apache.wicket.markup.html.border.MarkupComponentBorder.getMarkupType(Component) protected and not final!

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              robby80 Robert Keller
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: