1

我目前正在为客户创建一个引擎以将 XML 提交到我们的网站,并且我想将数据处理到 CFC。为了对此进行测试,我在常规 CFM 文件中设置了一个简单的表单,因此...

<!DOCTYPE html>
<html>
    <head>
        <title>Testing CFC processing</title>
    </head>
    <body>
        <cfsavecontent variable="variables.testxml">
            <?xml version="1.0" encoding="UTF-8"?>
            <xmlRequest><headers>data</headers><body><Notification><Result Success="1"/><participantID>[ID number]</participantID><transactionNumber>000</transactionNumber></Notification></body></xmlRequest>
        </cfsavecontent>
        <form method="post" action="[site url]/main.cfc?method=testData">
            <cfoutput>
                <textarea name="data" cols="150" rows="5">#variables.testxml#</textarea>
            </cfoutput>
            <br/>
            <input type="submit" name="submit" value="Process Test" />
        </form>
    </body>
</html>

在 main.cfc 中,我有一个名为 testData 的方法,其设置如下...

remote void function testData(data) {
    writeOutput(arguments.data);
}

这个测试只是为了检查该方法是否正在接收它发送的数据。当我运行它时,它不会出错,但它也不会从表单中输出 XML 数据。

如果相关,我将组件声明如下...

component  displayname="[name]" accessors="true" output="true"

我无法弄清楚为什么 CFC 没有接收到表单数据(或者如果是,为什么它没有输出表单数据)。任何人都可以提供任何帮助吗?

4

1 回答 1

2

我找到了答案。事实证明上面的代码没有问题。问题出在 Application.cfc 中。我有一个 onCFCRequest 方法,其中没有任何代码。它阻止了 CFC 接收数据。从我的 Application.cfc 中删除该功能后,该方法能够毫无问题地接收数据。

于 2014-09-09T15:53:00.743 回答