Есть ли в ActionScript функция, подобная ajax-функции jQuery, $ .post ()? - PullRequest
4 голосов
/ 08 сентября 2011

Я хочу сохранить журналы операций пользователя, используя файл сценария журнала (например, log.php) с параметром post или get из моего приложения Flash.
Flash - это веб-приложение, а не настольное приложение.

В jQuery javascript может обращаться к другим файлам на веб-сайте, используя следующий код:

$.post("test.php", {a: 1, b: 2}, function(data) {
        console.log(data);
});

$. Почтовый документ:
http://api.jquery.com/jQuery.post/

Я думаю, что следующий код ActionScript эквивалентен $ .post () jQuery.
Вызывает ли этот код какие-либо проблемы, которых нет у jQuery $ .post ()?
Есть ли более простой и короткий способ сделать это?

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, function():void {
    trace(loader.data);
});

var variables:URLVariables = new URLVariables();
variables.a = 1;
variables.b = 2;

var request:URLRequest = new URLRequest("test.php");
request.data = variables;
request.method = URLRequestMethod.POST;
try {
    loader.load(request);
} catch (error:Error) {
    trace("failed");
}

Ответы [ 2 ]

0 голосов
/ 30 января 2016

Я сделал один для тебя, как ты DO .

function HTTPPost(_URL:String,_UVar:Object,_UEvent:Object){
    var _Loader:URLLoader=new URLLoader();
    _Loader.addEventListener(Event.COMPLETE,function():void{
        if(_UEvent.hasOwnProperty("_Done"))
        _UEvent._Done(_Loader.data)
    });
    _Loader.addEventListener(IOErrorEvent.IO_ERROR,function():void{
        if(_UEvent.hasOwnProperty("_Error"))
        _UEvent._Error(_Loader.data)
    });
    var _Variables:URLVariables=new URLVariables();
    for(var i in _UVar){
        _Variables[i]=_UVar[i]
    }
    var _Request:URLRequest=new URLRequest(_URL);
    _Request.data=_Variables;
    _Request.method=URLRequestMethod.POST;
    try{
        _Loader.load(_Request);
    }catch(error:Error){
        trace("Failed.");
    }
}
//HTTPPost(File URL, post data and event functions)

Тогда вы используете это так:

HTTPPost("URL",{"Variable_1":"Value"},{
        "_Done":function(Message){
            trace(Message)//print what URL file prints
        },
        "_Error":function(Message){
            trace(Message)//print an HT with error info
        }
})
0 голосов
/ 08 сентября 2011

Я думаю, что есть еще 3 способа сделать то же самое ...

 1. httpService
 2. WebService
 3. RPC

Первые два идентичны, есть только различие в протоколе, и, по моему мнению, последний вариант - лучший. Это в 8-10 раз быстрее, чем два других. Вы можете найти все подробности на сайте Adobe

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