У меня Ajax-вызов в приложении Struts 1.3, и у меня возникают проблемы с его возвратом в браузер действительного XML. Содержимое XML отправляется обратно корректно, однако браузер все еще пересматривает тип ответа как text / html.
Мой класс действий выглядит так:
public ActionForward newContractCAUAjax(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)throws Exception {
String target="forwardToCAUXML";
DynaActionForm dynaActionForm = (DynaActionForm) actionForm;
httpServletResponse.setContentType("text/xml");
httpServletResponse.setHeader("Content-type","application/xhtml+xml");
...
return actionMapping.findForward(target);
}
То, что я сейчас делаю, это просто захват XML-строки, которую устанавливает браузер, и использование метода parseXML () jQuery для получения правильного XML, но это похоже на хак, и я бы предпочел, чтобы распорки отправляли ответ обратно как действительный ответ XML.