Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отправить на сервер body содержимое (http://www.flasher.ru/forum/showthread.php?t=207392)

kotyavo 14.04.2014 17:43

Отправить на сервер body содержимое
 
Добрый день подскажите как оправить тело на сервер)
В виде строки
Строка у меня JSON { name:"1211", data:[]}

Код AS3:

var request:URLRequest = new URLRequest(); 
request.method = URLRequestMethod.POST;
request.url = API_SERVER_URl;
request.contentType = "application/json";
request.data = varsdata;
loader = new URLLoader;
try
{
        loader.addEventListener(Event.COMPLETE, onComplete );
        loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
        loader.load(request);
}
catch (e:Error)
{
        trace('ERROR SRVREQ LINE 63' , e.getStackTrace() );
}


in4core 14.04.2014 17:55

Код AS3:

var request:URLRequest = new URLRequest(); 
request.method = URLRequestMethod.POST;
request.url = API_SERVER_URl;
request.contentType = "application/json";
 
var variables:URLVariables = new URLVariables();
variables["data"] = myData; // string
request.data = variables;
loader = new URLLoader();
try
{
        loader.addEventListener(Event.COMPLETE, onComplete );
        loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
        loader.load(request);
}
catch (e:Error)
{
        trace(loader.data);
        trace('ERROR SRVREQ LINE 63' , e.getStackTrace() );
}


kotyavo 14.04.2014 18:12

Нет это не подходит
Это получится, что мы посылает пост с переменной data это уже не body

Добавлено через 11 минут
Скрипт принимает тело на сервере в таком виде
PHP код:

$data file_get_contents('php://input'); 

Добавлено через 1 час 2 минуты
Код AS3:

                        var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/json");
                        var request:URLRequest = new URLRequest();
                                request.requestHeaders.push(header);
                                request.method = URLRequestMethod.POST;
                                request.url = API_SERVER_URl;
                        var json:String = JSON.stringify(varsdata);
                        var bytes:ByteArray = new ByteArray();
                                bytes.writeUTFBytes(json);       
                                request.data = bytes;
                        try
                        {
                                loader = new URLLoader;
                                loader.addEventListener(Event.COMPLETE, onComplete );
                                loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
                                loader.load(request);
 
                        }
                        catch (e:Error)
                        {
                                trace('ERROR SRVREQ LINE 63' , e.getStackTrace() );
                        }

Вроде через ByteArray работает


Часовой пояс GMT +4, время: 05:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.