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


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

See also

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


ColdFusion passes the following parameters to the method:




Fully qualified dotted path to the CFC.


The name of the method invoked.


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


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


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 --->
<cfset = "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">
component = "arguments.cfcname"
method = "arguments.method"
returnVariable = "result"
argumentCollection = "#arguments.args#">
<cfdump var="#result#" output="console" format="text">
<cffunction name="onRequest" output="yes" access="remote">
<cfargument type="string" name="targetpage">
<cflog text="onRequest()">
<!--- test.cfc --->
<cffunction name="foo">
<cfargument name="arg1" type="string" >
<cfargument name="arg2" type="string" >
<cfargument name="arg3" type="string" >
<cfreturn arguments>

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