Ajax和grails呈现

时间:2012-02-23 14:58:11

标签: ajax grails render

我正在尝试使用AJAX读取XML,所有数据都来自格式良好的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数据,而xmlhttp响应xml不包含任何内容。如何将真正的xml数据发送到我的客户端页面并利用它?我也需要使用XML响应。 (我试图发送一个从字符串创建的新xml对象,我试图返回原始文件,但这些方法都没有工作) (我正在使用Chrome)

谢谢

2 个答案:

答案 0 :(得分:2)

我不确定这是否是您问题的原因,但这段代码没有任何意义

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

执行render后Grails不会返回,因此它会在返回有效数据后执行response.sendError。用

替换这些行
render(text: resultStr, contentType: "text/xml", encoding: "ISO-8859-1")

答案 1 :(得分:0)

你可以试试     将resultStr渲染为XML

它应该有用,但我真的不喜欢这些converters