我想知道我是否可以打电话cffunction
在我的 cfm 页面上?我有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>
这是我的 JS 函数:
function getRecs(){
try{
location.href = 'myCFMpage.cfm?method=getRecords';
}catch(err){
alert('Error')
}
}
我不确定这是否可能,我当前的代码没有触发警报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 文件中,您将使用cfajax代理 https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-a-b/cfajaxproxy.html在您的 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>
希望这能提供一些见解。解决方案有很多,这就是其中之一。我当前的开发模式是使用 Angular 并对 CF 组件进行 $http 调用。我在 cffunctions 中滚动我自己的 JSON。但这就是我开始使用普通 JS 和 CF 的方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)