【问题标题】:How to output CFC query results properly如何正确输出CFC查询结果
【发布时间】:2020-12-03 20:11:57
【问题描述】:

我已经接近这个了。

我正在调用 CFC 来查询一些数据:

$.ajax({
    
    dataType: 'json',
    data:  {
                customer_name: $('##customer_name').val()
            },
    url: "cfcs/customers_lookup.cfc?method=getAddress&returnformat=query",
    beforeSend: function(){
        $('.loader').show();
    },
    complete: function(){
         $('.loader').hide(3000);
        console.log(JSON.stringify(data));
    },
    success: function(response) {
                       $.each(response.DATA, function(i, row){
                        // get value in first column ie "description"
                        var address = row[0];
                        
                        
                        // append new option to list
                        $("##customer_address").append(address);
                       })
                    }    
});

在我的 CFC 中,我按如下方式查询数据库:

<cffunction name="getAddress" access="remote" returnType="query">
    <cfargument name="customer_name" type="any" required="true">

    <!--- localize function variables --->
    <cfset var addressDetail = "">
    <cfoutput>
    <cfquery name="addressDetail" datasource="#datasource#">
        SELECT address1, address2
        FROM   customer_table
        <!--- adjust cfsqltype if needed --->
        WHERE company_name = <cfqueryparam value="#ARGUMENTS.customer_name#" cfsqltype="cf_sql_varchar">
    </cfquery>
    </cfoutput>
    <cfreturn addressDetail>
</cffunction>

我遇到的问题是我的 HTML 表单字段中的输出如下所示: Column1Column2

如何输出以在每个输出之间留出空格?

谢谢!

【问题讨论】:

  • 什么版本的 ColdFusion?
  • 我正在运行 Lucee。
  • 如果row[0] 是地址1,只需连接两列:var address = row[0] +' '+ row[1];。或者连接sql查询中的两列
  • @BrianFleishman 哪个版本的 Lucee?

标签: jquery coldfusion cfc


【解决方案1】:

考虑

 <cffunction name="getAddress" access="remote" returnType="string">

 ...
 <cfreturn SerializeJSON(addressDetail, "struct")>

【讨论】:

  • 或者,给函数添加一个参数来指定返回类型。 CFC 属于可重用代码的类别,有时您可能会从 CF 代码调用函数并希望返回查询。
  • 最好只有查询结果。我只想从两列输出返回的数据。当它只有一列时,我查询它很容易输出,但是有两列输出显示为:[objsct Object]
  • 找到了如何更好地输出查询结果,但需要帮助格式化输出。我更新了我的问题。
猜你喜欢
  • 1970-01-01
  • 2018-02-10
  • 2018-08-19
  • 2020-04-19
  • 1970-01-01
  • 2017-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多