时间:2010-11-11 03:10:40

标签: ajax function coldfusion

这是交易:我向一个coldfusion函数发送一个ajax请求,然后在同一个组件中调用另一个函数。以下是两个功能:

<!--- test--->
<cffunction name="deleteMission" access="public" output="No" returntype="struct">
 <cfscript>
  var returnData = structNew();
  structAppend(returnData, getTest());
  returnData.test2 = "test2";
 </cfscript>
 <cfreturn returnData>
</cffunction>

<!--- test2 --->
<cffunction name="getTest" access="public" output="No" returntype="struct">
 <cfscript>
  var returnData = structNew();
 returnData.testing = "TEST";
</cfscript>
 <cfreturn returnData>
</cffunction>

非常简单,在这个例子中只返回2个结构键。如果我定期调用方法test()(即通过coldfusion页面加载),我会得到预期的结果。但是,如果我通过AJAX调用方法test(),我会收到错误“变量getTest未定义”。如果我删除了对getTest()的调用,我会按预期收到单个结构键。任何人都知道发生了什么事吗?我有一种感觉,这是我忽略的一些简单的事情,但此时我需要更多的眼球...我真的在这个问题上摸不着头脑。谢谢!

2 个答案:

答案 0 :(得分:1)

如果您通过AJAX访问该组件,则access的{​​{1}}属性应设置为cffunction。 E.g。

remote

答案 1 :(得分:-1)

将您的getTest更改为access =“private”。 此外,有时StructAppend方法不会将参数作为“函数调用”。因此,首先将值放入变量,然后将该变量发送到deleteMission。

像这样......

var inpData = getTest();
structAppend(returnData, inpData);