It's a reference, but in this case you're just trying to avoid having to type
"arguments" so it works - I do the same thing. The only time you really need
to do a deep copy is if you are planning to manipulate the second structure
and need to keep the first intact for some reason.
Christopher Jordan wrote:
>
> Hmm... I hadn't thought of that. So you're saying that you would
> eliminate the looping over the argument structure and just set my =
> arguments;? Would that make a *copy* of the arguments structure in the
> 'my' variable, or would 'my' be a *reference* to the arguments structure?
>
> Chris
>
> Daemach wrote:
>> BTW, since you don't need a deep copy of the arguments structure in the
>> cfc
>> you can just do <cfset my = arguments> to simplify.
>>
>>
>> Christopher Jordan wrote:
>>
>>> Rick,
>>>
>>> First will you be using Rob Gonda's AjaxCFC for jQuery? I'd recommend
>>> it, even though it's still in alpha3. I'm using it on a client's
>>> application and it works just fine.
>>>
>>> So for this mortgage calculator, you've got your form with the fields
>>> for input (technically speaking this doesn't even have to be an html
>>> form since you'll be using Ajax to send the data and receive the
>>> calculation):
>>>
>>> <script type="text/javascript" src="Include/js/jquery.js"></script>
>>> <script type="text/javascript"
>>> src="Include/js/jquery.AjaxCFC.js"></script>
>>> <script
>>> type="text/javascript">$.AjaxCFC({require:'json,wddx,dump,log4j,someotherjsfiles'});</script>
>>>
>>> <script>
>>> function CalculateMortgage(){
>>> // first use jQuery to get all the field values we'll need to
>>> make the calculation
>>> // this example assumes the very simple form I've got listed
>>> below.
>>> var Params = {};
>>> // select all inputs of type text
>>> $("input:text").each(function(){
>>> Params[$this.name] = $this.value;
>>> });
>>> //once this is done above we'll have an object (like a CF
>>> structure) which is the equivalent of {"VarName":"Value",
>>> "VarName2":"Value"}
>>> // these are named arguments, so you'll notice in the code below
>>> that unnamedargs is set to false.
>>> $.AjaxCFC({
>>> url: "CFC/MortgageCalculator.cfc",
>>> method: "CalculateResult",
>>> data: Params,
>>> unnamedargs: false,
>>> serialization: "string",
>>> success: function(data) {
>>> // great we got our calculation back. So now append it
>>> to the span tag holding the result.
>>> $("#Result").empty().append(data);
>>> }
>>> });
>>> }
>>>
>>> </script>
>>>
>>> <form name="f">
>>> <input type="text" name="Principal">
>>> <input type="text" name="InterestRate">
>>> <input type="text" name="Duration">
>>> <span id="Result"></span>
>>> <input type="button" value=" Calculate "
>>> onClick="CalculateMortgage();">
>>> </form>
>>>
>>> Your CFC would look something like:
>>>
>>> <cfcomponent extends="ajax.cfc">
>>> <cffunction name="CalculateResult" returntype="numeric">
>>> <cfscript>
>>> // Rick, you should note, that this is just the way *I*
>>> handle arguments coming into a cfc and there are possibly better ways.
>>> var my = StructNew();
>>> // this loop takes everything that was passed into the
>>> arguments structure and puts it in the local 'my' structure.
>>> // I do this because 'my' has been var'd so everything in it
>>> is var'd as well. This means that throughout my function
>>> // I don't have to var anything else.
>>> for(my.KeyName in Arguments){
>>> "my.#my.KeyName#" = Arguments[my.KeyName];
>>> }
>>>
>>> // now do the calculation... I'm not going to pretend that I
>>> know how to do the interest calculation off the top of my head.
>>> // I'm assuming you can do this already.
>>> return my.Principal * my.InterestRate * my.Duration; // or
>>> whatever.... you get the idea I hope.
>>> </cfscript>
>>> </cffunction>
>>> </cfcomponent>
>>>
>>> The calculated result will be returned to the ajaxcall in the 'success:'
>>> section. Does this make sense? Does it help? If not, let me know where
>>> you need clarification, and I'll see what I can do. :o)
>>>
>>> Cheers,
>>> Chris
>>>
>>> Rick Faircloth wrote:
>>>
>>>> Hi, all...
>>>>
>>>> I've just started using jQuery recently and now
>>>>
>>>> I'm trying to understand how to use it with AJAX
>>>>
>>>> and I just don't know enough about how it works
>>>>
>>>> to get started on a fairly simple app. The sample app I've
>>>>
>>>> been tinkering with sends a URL variable for a User_ID
>>>>
>>>> using AJAX to a CF page, which runs a query and
>>>>
>>>> returns the info to the calling page and appends
>>>>
>>>> it to the body. I'd like to send results back to the
>>>>
>>>> form fields, as well as the calculated result.
>>>>
>>>> I just don't have a clue how to set this up.
>>>>
>>>> I have a mortgage calculator and I want the user
>>>>
>>>> to be able to enter the principal, interest rate,
>>>>
>>>> and duration in years, then run a calculation on it
>>>>
>>>> and return the result.
>>>>
>>>> I've set this up in a regular form that submits back
>>>>
>>>> to the page it's on and it works fine. It's coded in CF.
>>>>
>>>> I'd like to be able to calculate and return the results using AJAX.
>>>>
>>>> I've worked some very simple code using AJAX (actually
>>>>
>>>> it was given to me), but I have no idea how to code for
>>>>
>>>> the above scenario.
>>>>
>>>> Would anyone care to give this CF'er some guidance
>>>>
>>>> on creating this small jQuery/CF/AJAX app?
>>>>
>>>> Thanks for any help!
>>>>
>>>> Rick
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> jQuery mailing list
>>>> [email protected]
>>>> http://jquery.com/discuss/
>>>>
>>>>
>>> --
>>> http://www.cjordan.us
>>>
>>>
>>> _______________________________________________
>>> jQuery mailing list
>>> [email protected]
>>> http://jquery.com/discuss/
>>>
>>>
>>>
>>
>>
>
> --
> http://www.cjordan.us
>
>
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
>
>
--
View this message in context:
http://www.nabble.com/Need-some-guidance...-tf3323366.html#a9253795
Sent from the JQuery mailing list archive at Nabble.com.
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/