0

我在 Ubuntu 14.04.3 LTS 上运行 Lucee 4.5.1.023。当我创建 .cfm 文件并执行 cfoutput 或 cfdump 时,输出与您预期的一样。但是,当我在 CFC 中使用函数并将函数设置为 output="true" 并执行 cfoutput 或 cfdump 时,结果是以下“XML Parsing Error: not well-formed”。

<cfcomponent>
    <cffunction name="test" access="remote" output="true">
        <cfoutput>#now()#</cfoutput>
    </cffunction>
</cfcomponent>

如果 output="false" 并且根本没有生成输出,则返回 XML Parsing Error。例如

<cfcomponent>
    <cffunction name="test" access="remote" output="false">
        <cfset var a = 1>
    </cffunction>
</cfcomponent>

任何帮助或建议将不胜感激。

4

1 回答 1

0

我没有安装 lucee,但您的功能访问方法设置为“远程”。

我的假设是 lucee 服务器相应地尝试以 XML 格式返回响应。在您的函数调用中输出任何内容都将插入到生成的 XML 流中,这将破坏 XML。

对于调试,您可以将访问方法设置为“public”并将输出设置为 true。这将让您调试代码。事实上,除非您打算将 CFC 作为服务公开,否则最好不要使用“远程”。

您还可以在标准 cfml 页面中像这样调用您的方法。您可以显式设置这样的页面,以便在开发期间调试组件。

<cfset myComponent = createObject("mycomponent")>

<cfoutput>
    <cfset myComponent.myMethod()><!---  --->
</cfoutput> 
于 2015-08-11T05:19:53.310 回答