和Ajax
我在CFC文件上使用Ajax。我无法从Ajax调用的函数中获得结果。我设置了调试消息警报,但无法看到它。有什么建议吗和Ajax,ajax,coldfusion,content-type,cfc,Ajax,Coldfusion,Content Type,Cfc,我在CFC文件上使用Ajax。我无法从Ajax调用的函数中获得结果。我设置了调试消息警报,但无法看到它。有什么建议吗 function getDelegateChartAcct(LocFund){ alert("#Arguments.PIUniversalID#"); alert($F("DelegateFund"));
function getDelegateChartAcct(LocFund){
alert("#Arguments.PIUniversalID#");
alert($F("DelegateFund"));
new Ajax.Request( "?method=displayDelegateChartAcct",
{
parameters : {
PIUniversalID: "#Arguments.PIUniversalID#",
PILocFund: $F("DelegateFund")
},
method : "post"
}
);
}
<cffunction name="displayDelegateChartAcct" access="remote" output="true"
returntype="void">
<CFArgument name="PIUniversalID" type="string" required="true" />
<CFArgument name="LocFund" required="true" type="String" />
<CFSET var chartacctlist = runChartAcctDelegationQuery
(#Arguments.PIUniversalID#, #Arguments.LocFund#)>
<CFContent type="text/x-javascript">
alert(“Hi”);
// delegateChartAcctList();
// $("DelegateChartAcct").
// <CFOutput query="chartacctlist">
// $("DelegateChartAcct").insert( new Element(
"option", { value : "#JSStringFormat( chart_acct )#", selected :
// "selected" } ).update( "#JSStringFormat( chart_acct )#" ) );
// </CFOutput>
</cffunction>
谢谢,
Kefang您不能从CFC返回任何内容,也不能在远程调用的函数中运行JavaScript 您有两种方法可以处理此问题: 通过远程调用生成所需表单或元素的.cfm文件来加载所需表单或元素。您可以使用${place form will display}.load{url to.cfm page},jQuery将发出HTTP请求并将结果加载到与选择器匹配的DOM元素中 更改CFC以返回查询,并使用JavsScript填充客户端上的选择框。这就是我要做的 您的代码如下所示:
<cffunction name="displayDelegateChartAcct" access="remote" output="true" returntype="query">
<cfargument name="PIUniversalID" type="string" required="true" />
<cafrgument name="LocFund" required="true" type="String" />
<cfset var chartacctlist = runChartAcctDelegationQuery (#Arguments.PIUniversalID#, #Arguments.LocFund#)>
<cfreturn chartacctlist />
</cfcomponent>
“returnFormat=json”告诉ColdFusion以json的形式返回结果
您只需要一个JS处理程序来获取数据并使用它填充选择框。您没有从CFC返回任何内容,也不能在远程调用的函数中运行JavaScript 您有两种方法可以处理此问题: 通过远程调用生成所需表单或元素的.cfm文件来加载所需表单或元素。您可以使用${place form will display}.load{url to.cfm page},jQuery将发出HTTP请求并将结果加载到与选择器匹配的DOM元素中 更改CFC以返回查询,并使用JavsScript填充客户端上的选择框。这就是我要做的 您的代码如下所示:
<cffunction name="displayDelegateChartAcct" access="remote" output="true" returntype="query">
<cfargument name="PIUniversalID" type="string" required="true" />
<cafrgument name="LocFund" required="true" type="String" />
<cfset var chartacctlist = runChartAcctDelegationQuery (#Arguments.PIUniversalID#, #Arguments.LocFund#)>
<cfreturn chartacctlist />
</cfcomponent>
“returnFormat=json”告诉ColdFusion以json的形式返回结果
您只需要一个JS处理程序来获取数据并使用它填充选择框。returntype=void专门告诉您的cfc不返回任何内容。returntype=void专门告诉您的cfc不返回任何内容。