Quantcast
Channel: Flex Examples » HTTPService
Viewing all articles
Browse latest Browse all 10

Passing parameters to an HTTPService

$
0
0

The followig example shows how you can pass parameters to an HTTPService by passing an Object in the HTTPService’s send() method. The remote ColdFusion script is a simple “hello world” type script which accepts a single parameter, “name”, and returns a single parameter, “welcomeMessage”.

Full code after the jump.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/10/29/passing-parameters-to-an-httpservice/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.events.ValidationResultEvent;
            import mx.utils.StringUtil;

            private function submit_click(evt:MouseEvent):void {
                var result:ValidationResultEvent = stringValidator.validate();
                var params:Object = {};

                lbl.text = "";

                switch (result.type) {
                    case ValidationResultEvent.INVALID:
                        Alert.show(result.message, result.type);
                        break;
                    case ValidationResultEvent.VALID:
                        params["name"] = StringUtil.trim(firstName.text);
                        httpServ.send(params);
                        break;
                }
            }
        ]]>
    </mx:Script>

    <mx:StringValidator id="stringValidator"
            source="{firstName}"
            property="text"
            minLength="2"
            maxLength="{firstName.maxChars}" />

    <mx:HTTPService id="httpServ">
        <mx:resultFormat>flashvars</mx:resultFormat>
        <mx:url>http://www.flash-mx.com/mm/greeting.cfm</mx:url>
        <mx:result>lbl.text = httpServ.lastResult.welcomeMessage;</mx:result>
        <mx:fault>Alert.show(event.toString(), event.type);</mx:fault>
    </mx:HTTPService>

    <mx:ApplicationControlBar dock="true">
        <mx:Form>
            <mx:FormItem label="Name:" required="true"
                    direction="horizontal">
                <mx:TextInput id="firstName"
                    maxChars="20" />
                <mx:Button label="Submit"
                        click="submit_click(event);" />
            </mx:FormItem>
        </mx:Form>
    </mx:ApplicationControlBar>

    <mx:Label id="lbl" fontSize="32" />

</mx:Application>

View source is enabled in the following example.

By popular request, here is the ColdFusion source code as well.

http://www.flash-mx.com/mm/greeting.cfm

<cfsilent>
<cfsetting enablecfoutputonly="Yes">
<cfif IsDefined("URL.name")><cfset Form.Name = URL.name /></cfif>
<cfif NOT IsDefined("Form.name") OR Len(Trim(Form.Name)) EQ 0>
    <cfset Form.Name = "[Mysterious Stranger]" />
</cfif>
</cfsilent><cfcontent reset="true" /><cfoutput>welcomeMessage=#UrlEncodedFormat("Welcome, "&Form.name)#</cfoutput>
<cfsetting enablecfoutputonly="No">

Viewing all articles
Browse latest Browse all 10

Trending Articles