User Guide

Table Of Contents
880 Chapter 35: Using XML and WDDX
The IsWDDX function returns True if a variable is a valid WDDX data packet. It returns False
otherwise. You can use this function to validate WDDX packets before converting them to
another format. For example, you can use it instead of the
cfwddx validate attribute, so that
invalid WDDX is handled within conditional logic instead of error-handling code. You can also
use it to pre-validate data that will be deserialized by JavaScript at the browser.
Using JavaScript objects
ColdFusion provides two JavaScript objects,
WddxSerializer object and WddxRecordset
object
, that you can use in JavaScript to convert data to WDDX. These objects are defined in
the file webroot/cfide/scripts/wddx.js.
CFML Reference describes these objects and their methods in detail. The example “Transferring
data from the browser to the server” on page 881 shows how you can use these objects to serialize
JavaScript to WDDX.
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.