由于某些我无法理解的原因,在我的开发机器上无法从cfajaxproxy调用cfc组件的功能。
在我的cfm文档中:
<cfajaxproxy cfc="#Application.CfcPath#.empleado"
jsclassname="ccEmpleado">
这是有效的,我也可以实例化一个对象来获得该cfc组件的所有功能:
var cfcEmpleado = new ccEmpleado();
但是,当我尝试调用该对象的函数时:
var nb_Empleado = cfcEmpleado.RSEmpeladoNombreBIND(1,1);
调试抱怨: 错误:RSEmpeladoNombreBIND函数的ID_EMPRESA参数是必需的,但未传入。
我从Chrome上的“网络”标签中得到了这个,并发现某些内容正在生成无效参数:
http://127.0.0.1/vpa/componentes/empleado.cfc?method=RSEmpeladoNombreBIND&_cf_ajaxproxytoken=[object%20Object]&returnFormat=json&_cf_nodebug=true&_cf_nocache=true&_cf_clientid=41C92098C98042112AE2B3AAF523F289&_cf_rc=0
正如你所看到的,有一个参数[object%20Object]
,它正在弄乱我的请求,这就是它失败的原因。我不知道为什么会发生这种情况。其他人已经对此进行了测试,但它确实有效,但在我的情况下并没有。
我有Coldfusion 9,Apache,Windows 8.在Coldfusion上有一些配置问题,还是一个bug?
答案 0 :(得分:0)
我不知道这是不是你的错误,但它可能是。这是我们有一段时间的问题。您应该考虑使用显式名称以避免任何混淆。在那里添加“js”。
<cfajaxproxy cfc="cfcEmpleado" jsclassname="proxyEmpleado">
var jsEmpleado = new proxyEmpleado();
我会尝试找到一篇关于这件事的文章的链接。