Adobe ColdFusion 8

Converting CFML data to a JavaScript object

The following example demonstrates the transfer of a cfquery recordset from a ColdFusion page executing on the server to a JavaScript object that is processed by the browser.

The application consists of four principal sections:

  • Running a data query
  • Including the WDDX JavaScript utility classes
  • Calling the conversion function
  • Writing the object data in HTML

The following example uses the cfdocexamples data source that is installed with ColdFusion:

<!--- Create a simple query --->
<cfquery name = "q" datasource ="cfdocexamples">
    SELECT Message_Id, Thread_id, Username, Posted 
    FROM messages
</cfquery>

<!--- Load the wddx.js file, which includes the dump function --->
<script type="text/javascript" src="/CFIDE/scripts/wddx.js"></script>

<script>
    // Use WDDX to move from CFML data to JavaScript
    <cfwddx action="cfml2js" input="#q#" topLevelVariable="qj">
    
    // Dump the recordset to show that all the data has reached 
    // the client successfully.
    document.write(qj.dump(true));
</script>

Note: To see how cfwddx Action="cfml2js" works, save this code under your webroot directory, for example in wwwroot/myapps/wddxjavascript.cfm, run the page in your browser and select View Source in your browser.