Ajax和grails渲染

Ajax和grails渲染,ajax,grails,render,Ajax,Grails,Render,我试图用AJAX读取XML,所有数据都取自格式良好的XML文件,然后通过AJAX发送到客户端页面。但是xmlhttp.responseXML始终无法使用 这是我的控制器: def fileGetter = { if (params.fileId) { try { String resultStr = fileManipulatorService.fileProvider(params.fileId).getText() pr

我试图用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)

谢谢

您可以试试 将resultStr呈现为XML


虽然我不太喜欢这些,但它应该可以工作。

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

render(text: resultStr, contentType: "text/xml", encoding: "ISO-8859-1")
response.sendError(200)
Grails在执行
render
后不会返回,因此它将在返回有效数据后执行
响应.sendError
。将这些线路更换为

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

您好,也许我没有正确地使用它,但我只是尝试将resultStr呈现为XML,它不起作用,而将XML.parse(resultStr)呈现为XML也不起作用?知道为什么吗?它会生成如下错误:runtime.typehandling.GroovyCastException或with类无法将“java.lang.String”强制转换为“grails.converters.XML”类事实上这很正常。单个字符串是有效的xml。通常转换器用于属性:value设置为value。您的意思是
响应。sendError(200)
?您可能需要
response.setStatus(SC\u OK)
。在
render
defxml=xml.parse(filemanufactorservice.fileProvider(params.fileId.getText(),“UTF-8”))之前也尝试设置它;将xml呈现为xmlsendError无法解决此问题。对于XML.parse,它生成一个错误,没有方法的签名:static grails.converters.XML.parse()。就像没有导入GrailsXML转换器一样。我不明白为什么。我越来越迷路了……不幸的是,这并没有改变任何事情。