和Ajax

和Ajax,ajax,coldfusion,content-type,cfc,Ajax,Coldfusion,Content Type,Cfc,我在CFC文件上使用Ajax。我无法从Ajax调用的函数中获得结果。我设置了调试消息警报,但无法看到它。有什么建议吗 function getDelegateChartAcct(LocFund){ alert("#Arguments.PIUniversalID#"); alert($F("DelegateFund"));

我在CFC文件上使用Ajax。我无法从Ajax调用的函数中获得结果。我设置了调试消息警报,但无法看到它。有什么建议吗

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不返回任何内容。