Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javascript调用cfm页面上的cffunction?_Javascript_Coldfusion_Cffunction - Fatal编程技术网

如何从javascript调用cfm页面上的cffunction?

如何从javascript调用cfm页面上的cffunction?,javascript,coldfusion,cffunction,Javascript,Coldfusion,Cffunction,我想知道是否可以在我的cfm页面上调用cffunction?我有一个onClick按钮,可以调用同一页面上的cffunction。此外,我还尝试在函数周围放置cfcomponent,但我遇到了以下错误: Invalid CFML construct found on line 94 at column 1. ColdFusion was looking at the following text: < The CFML compiler was processing: &

我想知道是否可以在我的cfm页面上调用
cffunction
?我有一个
onClick
按钮,可以调用同一页面上的
cffunction
。此外,我还尝试在函数周围放置
cfcomponent
,但我遇到了以下错误:

Invalid CFML construct found on line 94 at column 1.
ColdFusion was looking at the following text:

<
The CFML compiler was processing:
< marks the beginning of a ColdFusion tag.Did you mean LT or LTE?
到目前为止,我有:

<cffunction name="getRecords" access="remote">
    <script>
        alert('test');
    </script>
</cffunction>

我不确定这是否可能,我当前的代码没有在
cffunction
中触发警报。我之所以尝试这样做,是因为我在这个页面上有一个
cfquery
,我想在用户单击按钮时从该查询中获取数据,然后进行一些操作。如果有人能告诉我这是否可行,或者有没有更好的方法来解决这个问题,请让我知道

在过去,我使用cfajaxproxy来完成从组件(cfc)到javascript的调用函数。(由于不同的开发模式,我不再这样做了,但这可能会有助于您继续工作。)首先,用您的函数创建一个cfc

<cfcomponent>
    <cffunction name="getRecords" access="remote" returntype="string">
        <cfquery name="someQuery" datasource="someDataSource">
            select * from records
        </cfquery>
        <cfreturn serializeJSON(someQuery,'struct')> 
    </cffunction>
</cfcomponent>

从记录中选择*
在模板.cfm文件中,您可以使用javascript为我们声明组件

<cfajaxproxy cfc="yourComponent" jsclassname="jsClass">

然后,在同一个模板中,在javascript中执行以下操作,您将能够使用cfc函数作为来自jsClass的方法

<script type="text/javascript">
    var _myFuncs = new jsClass()

    function buttonClicked() {
        var _records = JSON.parse(_myFuncs.getRecords());
    }

</script> 

var_myFuncs=new jsClass()
函数按钮单击(){
var_records=JSON.parse(_myFuncs.getRecords());
}

希望这能提供一些见解。有很多解决方案,这就是其中之一。我当前的开发模式是使用Angular并对CF组件进行$http调用。我在CFF函数中使用自己的JSON。但这就是我从简单的JS和CF开始的方式。

这里有一些参考资料供您参考。我的投票使你的声誉超过100。你欠我一杯啤酒。如果我的老板让我离开办公室,你就得到了!
<script type="text/javascript">
    var _myFuncs = new jsClass()

    function buttonClicked() {
        var _records = JSON.parse(_myFuncs.getRecords());
    }

</script>