Аякс и Граальс оказывают - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь прочитать XML с помощью AJAX, все данные взяты из правильно сформированного XML-файла, а затем отправлены на страницу клиента через AJAX.Но xmlhttp.responseXML всегда остается непригодным для использования.

Вот мой контроллер:

def fileGetter = {
    if (params.fileId) {
        try {
            String resultStr = fileManipulatorService.fileProvider(params.fileId).getText()
            println resultStr
            render(text: resultStr, contentType: "text/xml", encoding: "ISO-8859-1")
            response.sendError(200)
       }
    }
}

resultStr содержит правильный xml, на моей веб-странице текст ответа xmlhttp также содержит правильные данные xml, тогда как ответ xmlhttpXML ничего не содержит.Как я могу отправить истинные данные XML на мою страницу клиента и использовать ее?Мне тоже нужно работать с XML-ответом.(Я пытался отправить новый объект XML, созданный из строки, я пытался вернуть исходный файл, но ни один из этих методов не работал) (Я использую Chrome)

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Я не уверен, является ли это причиной вашей проблемы, но этот код не имеет никакого смысла

render(text: resultStr, contentType: "text/xml", encoding: "ISO-8859-1")
response.sendError(200)

Grails не возвращается после выполнения render, поэтому он будет выполнять response.sendError после возврата действительных данных. Замените эти строки на

render(text: resultStr, contentType: "text/xml", encoding: "ISO-8859-1")
0 голосов
/ 23 февраля 2012

Вы можете попробовать отобразить resultStr как XML

Должно работать, хотя мне не очень нравятся эти конвертеры .

...