Description
In AjaxRequestHandler in case there are no filters defined AjaxUpdate written directly to response. See below
// code placeholder if (filters == null || filters.isEmpty()) { update.writeTo(response, encoding); } else { final StringResponse bodyResponse = new StringResponse(); update.writeTo(bodyResponse, encoding); CharSequence filteredResponse = invokeResponseFilters(bodyResponse, filters); response.write(filteredResponse); }
In case a "dynamic" error is produced and we use exception mapper to redirect to an error page then generated response XML is of the form
// code placeholder <?xml version="1.0" encoding="UTF-8"?><ajax-response><ajax-response><redirect><![CDATA[./internalError?4]]></redirect></ajax-response>
which is malfomed and this causes redirect to be broken.