Description

Intercepts any HTTP or AMF calls to an application based on CFC request.

Syntax

<cffunction name="oncfcRequest" returnType="void">
<cfargument type="string" name="cfcname">
<cfargument type="string" name="method">
<cfargument type="struct" name="args">
</cffunction>

See also

Method summaryHandling errors in Application.cfc in Defining the application and its event handlers in Application.cfc in the Developing ColdFusion Applications

Parameters

ColdFusion passes the following parameters to the method:

Parameter

Description

cfcname

Fully qualified dotted path to the CFC.

method

The name of the method invoked.

args

The arguments (struct) with which the method is invoked.

Usage

Whereas onRequest handles only requests made to ColdFusion templates, this function controls Ajax, Web Service, and Flash Remoting requests.

Example

Create a folder onCFCRequest in your web root. Place test.cfc and Application.cfc in this directory and make an HTTP call to the CFC using the following URL:http://localhost:8500/onCFCRequest/test.cfc?method=foo&arg1=1&arg2=2&arg3=3When you run the URL, the method onCFCRequest is called and the function name foo is passed along with the arguments arg1, arg2, and arg3.You can then invoke the test.cfc as shown in the following example:

<!--- Application.cfc --->
<cfcomponent>
<cfset this.name = "oncfcrequest">
<cffunction name="onCFCRequest">
<cfargument type="string" name="cfcname" required=true>
<cfargument type="string" name="method" required=true>
<cfargument type="struct" name="args" required=true>
<cflog text="oncfcRequest()">
<cfdump var="#arguments#" output="console" format="text">
<cfinvoke
component = "arguments.cfcname"
method = "arguments.method"
returnVariable = "result"
argumentCollection = "#arguments.args#">
<cfdump var="#result#" output="console" format="text">
</cffunction>
<cffunction name="onRequest" output="yes" access="remote">
<cfargument type="string" name="targetpage">
<cflog text="onRequest()">
</cffunction>
</cfcomponent>
<!--- test.cfc --->
<cfcomponent>
<cffunction name="foo">
<cfargument name="arg1" type="string" >
<cfargument name="arg2" type="string" >
<cfargument name="arg3" type="string" >
<cfreturn arguments>
</cffunction>
</cfcomponent>

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy