Правильный способ отправки переменных с as3 в asp? - PullRequest
2 голосов
/ 16 августа 2010

Я пытаюсь заставить SWF отправить телефонный номер определенному asp-fil одним нажатием кнопки.Но так как я новичок в as3, я понятия не имею, где этот код работает неправильно (ПОМОГИТЕ):

import flash.events.IOErrorEvent;
import flash.display.*;
import flash.events.MouseEvent;
import flash.net.*;
import flash.events.Event;

public class action extends MovieClip
{
    private var swf_front_mc:swf_front = new swf_front  ;
    var request:URLRequest = new URLRequest("succes.html");
    var request2:URLRequest = new URLRequest("http://www.example.com");
    public var mobilNr:Number = new Number(swf_front_mc.mobilInput.text);
    public var varsToSend:URLVariables = new URLVariables();

    public function action()
    {
        addChild(swf_front_mc);
        swf_front_mc.name = "swf_front_mc";
        swf_front_mc.x = 0;
        swf_front_mc.y = 0;

        makeInteraction();
    }
    private function makeInteraction():void
    {
        swf_front_mc.submit_mc.addEventListener(MouseEvent.CLICK, submitForm);
    }

    function submitForm(e:MouseEvent):void
    {
        //trace("hello");
        varsToSend.RecipientMobileNumber = mobilNr;

        // Create URL Request, set to POST, and attach data
        var formRequest:URLRequest = new URLRequest("webform_input.asp");
        formRequest.method = URLRequestMethod.GET;
        formRequest.data = varsToSend;

        // Create URL Loader, attach listeners, and load URL Request
        var varLoader:URLLoader = new URLLoader  ;
        varLoader.addEventListener(Event.COMPLETE, onLoaded);
        varLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        varLoader.load(formRequest);
    }
function onLoaded(e:Event):void
    {
        navigateToURL(request,"blank");
    }

    function ioErrorHandler(e:IOErrorEvent):void
    {
        navigateToURL(request2,"blank");
    }

}

Ответы [ 2 ]

1 голос
/ 19 августа 2010

Спасибо за советы и подсказки, ребята ... А пока я получил идеальное решение от друга.Это намного короче и проще, чем я думал.Вот оно:

package app.form
{
    import flash.net.*;
    import flash.display.*;
    import flash.events.*;

    public class container extends MovieClip
    {
        public function container()
        {
            sendBtn.addEventListener(MouseEvent.CLICK, sendBtnClick);
        }

        public function SendToURLExample(_navn:String, _tlf:String) {
            var url:String = "http://www.yourdomain.com/file.asp";
            var variables:URLVariables = new URLVariables();
            variables.name = _name;
            variables.phone = _phone;

            var request:URLRequest = new URLRequest(url);
            request.data = variables;
            trace("sendToURL: " + request.url + "?" + request.data);
            try {
                sendToURL(request);
            }
            catch (e:Error) {
                // handle error here
            }
        }

        // two text-example-fields on stage called input_text_name/input_text_mobil
        private function sendBtnClick(e:MouseEvent):void {
            SendToURLExample(input_text_name.text, input_text_mobil.text);
        }
    }

}

Надеюсь, это кое-что решит для кого-то там:)

0 голосов
/ 19 августа 2010

попробуйте этот пример http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/net/URLVariables.html#includeExamplesSummary

или вы можете попытаться закодировать ваш НДС в GET URL, как новый URLRequest ("localhost /? Number =" + numberField.text);

, но сначала попробуйте метод navigatetourl из предыдущего примера.

p.s. посмотрите на это тоже: http://blog.flexexamples.com/2007/08/16/using-httpservice-tag-to-sendreceive-variables-to-a-server-side-script/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...