Search code examples
javascriptjquerysqlcoldfusioncfquery

Coldfusion cfquery in Jquery


Why Won't this work?

$("#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> 


      })

I've tested it outside of the jquery and it works fine. Is it not possible to embed a cfquery in jquery? If it is impossible, how would I go about performing this?


Solution

  • You are mixing server side code with client side code.

    • cf is processed on the server.
    • jquery is processed on the browser, there is no way for this to interact with what has already been and gone on the server.

    Sequence of events:

    1. CF parses a source file and produces HTML. The HTML contains your jQuery code.
    2. CF sends the output to a web browser
    3. Web browser renders the data and has the definition of the change event
    4. User changes selection .. code cannot run on the server!

    If you View Source on the browser page in 3, the CF code has already finished processing on the server and all you get is the output.