【问题标题】:Coldfusion cfquery in JqueryJquery中的Coldfusion cfquery
【发布时间】:2011-01-26 22:24:57
【问题描述】:

为什么这不起作用?

$("#selection").change(function () {
   description = $("#selection").val();
   console.log(description);

   <cfquery datasource="#Application.cartdsn#" name="descriptions">
     SELECT d.description FROM descriptionmap d, invoice i
     WHERE
                     i.description=
                        <cfqueryparam value="#description#" cfsqltype="cf_sql_integer" maxlength="20">
   </cfquery> 


      })

我已经在 jquery 之外对其进行了测试,它工作正常。不能在 jquery 中嵌入 cfquery 吗?如果不可能,我将如何执行此操作?

【问题讨论】:

  • 即使以某种方式可以在客户端评估服务器端代码,使用嵌入在 javascript 代码中的 cfquery 会生成多少 javascript 语法错误?此外,假设您能够在客户端运行该查询并返回查询结果,那么在上面的示例中您没有对它做任何事情。你只是在运行一个查询,你没有将它分配给任何东西。
  • 对,我把那部分去掉是因为我想用最少的代码来表达我想做的事情。对不起,我不明白客户端/服务器问题,你为什么生气?

标签: javascript jquery sql coldfusion cfquery


【解决方案1】:

您将服务器端代码与客户端代码混合在一起。

  • cf 在服务器上处理。
  • jquery 是在浏览器上处理的,它无法与服务器上已经存在和消失的内容进行交互。

事件顺序:

  1. CF 解析源文件并生成 HTML。 HTML 包含您的 jQuery 代码。
  2. CF 将输出发送到网络浏览器
  3. Web 浏览器呈现数据并具有change 事件的定义
  4. 用户更改选择.. 代码无法在服务器上运行

如果你在3中的浏览器页面查看源码,CF代码已经在服务器上处理完毕,你得到的只是输出。

【讨论】:

    【解决方案2】:

    这里有一些关于 ColdFusion 的查询示例:

    <cfquery name="anyNAME" datasource="your datasource">
    SELECT *yourCOLUMN* FROM *tableName*
    </cfquery>
    

    这里是如何从 MySQL 输出数据的例子

    <cfoutput query="anyNAME">
    <textarea> #yourCOLUMN# </textarea>
    </cfoutput>
    

    这是一个简单的 ColdFusion 代码

    【讨论】:

      猜你喜欢
      • 2013-01-11
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 2012-08-10
      相关资源
      最近更新 更多