Ошибка 2101

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Ошибка 2101

Сообщение MrDead »

Error: Error #2101: Строка, переданная в URLVariables.decode(), должна быть строкой запроса закодированного URL-адреса и содержать пары имя/значение.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
Вот код

Код: Выделить всё

stop();// Assign a variable name for our URLVariables objectvar variables:URLVariables = new URLVariables();// Build the varSend variable// Be sure you place the proper location reference to your PHP config file herevar varSend:URLRequest = new URLRequest("test.php");varSend.method = URLRequestMethod.POST;varSend.data = variables;// Build the varLoader variablevar varLoader:URLLoader = new URLLoader;varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;varLoader.addEventListener(Event.COMPLETE, completeHandler);variables.myRequest = "bringit";// Send the data to the php filevarLoader.load(varSend);// When the data comes back from PHP we access it here    function completeHandler(event:Event):void{        var idVar = event.target.data.id_var;    var userNameVar = event.target.data.uname_var;    var passVar = event.target.data.upass_var;    var resultStatus = event.target.data.my_result;    if (resultStatus == "no_session"){       gotoAndStop("no_session");    } else if (resultStatus == "no_exist"){       gotoAndStop("no_exist");    } else if (resultStatus == "all_good"){       userid_txt.text = idVar;       username_txt.text = userNameVar;       password_txt.text = passVar;       gotoAndStop(5);    }} 
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: Ошибка 2101

Сообщение XELAD »

Вместо

Код: Выделить всё

varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
нужно

Код: Выделить всё

varLoader.dataFormat = "variables";
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Ошибка 2101

Сообщение MrDead »

Не помогло. Пишет тоже самое. Возможно проблема в php скрипте, но не уверен, вроде все нормально

Код: Выделить всё

<?phpsession_start();$id = ""; // Initialize $id var$username = ""; // Initialize $username var$password = ""; // Initialize $password varif (isset($_POST['myRequest']) && $_POST['myRequest'] == "bringit"){     if(!isset($_SESSION["id"])) {        echo "my_result=no_session&id_var=false&uname_var=false&upass_var=false";        exit();    } else {        $id = preg_replace('#[^0-9]#i', '', $_SESSION["id"]);        $username = preg_replace('#[^a-z0-9]#i', '', $_SESSION["username"]);        $password = preg_replace('#[^a-z0-9]#i', '', $_SESSION["password"]);    }    // Check database to see if the id is related to this password    include_once "connect.php";    $sql = mysql_query("SELECT * FROM mymembers WHERE id='$id' AND username='$username' AND password='$password' LIMIT 1");    $numrows = mysql_num_rows($sql);    if($numrows == 0){        echo "my_result=no_exist&id_var=false&uname_var=false&upass_var=false";        exit();    } else {        echo "my_result=all_good&id_var=$id&uname_var=$username&upass_var=$password";    }}// close initial if condition?>
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: Ошибка 2101

Сообщение XELAD »

php тут не при чём, у меня самого была такая же ошибка. Вот посмотрите мой абсолютно рабочий код:

Код: Выделить всё

             var str:String = new String();             str += "do=smth";            var vars = new URLVariables(str);            var request:URLRequest = new URLRequest();            request.url = "http://xa.xa/xa.php";            request.method = URLRequestMethod.POST;            request.data = vars;            var loader:URLLoader = new URLLoader();            loader.dataFormat = "variables";            loader.addEventListener(Event.COMPLETE, SomeFunc1);            loader.addEventListener(Event.CANCEL, SomeFunc2);            loader.load(request);        
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Ошибка 2101

Сообщение MrDead »

Код: Выделить всё

/* ----- -------------------------------------- ----- *//* ----- THE ACTIONSCRIPT 3.0 USED IN THE VIDEO ----- *//* ----- -------------------------------------- ----- */ stop();// Assign a variable name for our URLVariables objectvar variables:URLVariables = new URLVariables();// Build the varSend variable// Be sure you place the proper location reference to your PHP config file herevar varSend:URLRequest = new URLRequest("getsessionvars.php");varSend.method = URLRequestMethod.POST;varSend.data = variables;// Build the varLoader variablevar varLoader:URLLoader = new URLLoader;varLoader.dataFormat = "variables";varLoader.addEventListener(Event.COMPLETE, completeHandler);variables.myRequest = "bringit";// Send the data to the php filevarLoader.load(varSend);// When the data comes back from PHP we access it here    function completeHandler(event:Event):void{        var idVar = event.target.data.id_var;    var userNameVar = event.target.data.uname_var;    var passVar = event.target.data.upass_var;    var resultStatus = event.target.data.my_result;    if (resultStatus == "no_session"){       gotoAndStop("no_session");    } else if (resultStatus == "no_exist"){       gotoAndStop("no_exist");    } else if (resultStatus == "all_good"){       userid_txt.text = idVar;       username_txt.text = userNameVar;       password_txt.text = passVar;       gotoAndStop(5);    }}
Ну вот код

Ctrl+enter

Вывод

Код: Выделить всё

Error: Error #2101: Строка, переданная в URLVariables.decode(), должна быть строкой запроса закодированного URL-адреса и содержать пары имя/значение.    at Error$/throwError()    at flash.net::URLVariables/decode()    at flash.net::URLVariables()    at flash.net::URLLoader/onComplete()
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Ошибка 2101

Сообщение IndieGD »

XELAD URLLoaderDataFormat.VARIABLES и "variables" это одно и тоже.
MrDead, у вас ругается что данные от PHP не по формату приходят. Вы пробовали смотреть что PHP скрипт возвращает?
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: Ошибка 2101

Сообщение XELAD »

IndieGD
Я на офиц форуме находил тему, где было указано, что это не одно и тоже.
А порывшись в инете нашел по поводу 2101:
The error says it can't parse the string returned by your PHP script. That means it's not the format
abc=10&cake=boop or has some character that trips it up.
PHP плох :(
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Ошибка 2101

Сообщение IndieGD »

XELAD http://help.adobe.com/ru_RU/FlashPlatfo ... ormat.html Я документации Адоба доверяю больше всяких форумов :D Чего и вам советую :)
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Ошибка 2101

Сообщение MrDead »

IndieGDа как посмотреть что он возвращает?
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Ошибка 2101

Сообщение IndieGD »

Эм) Ну как скрипты проверяют. Чарликом или плагином для браузера который заголовки смотрит.
Ну если нет возможности. То можно например в скрипте перед

Код: Выделить всё

if (isset($_POST['myRequest']) && $_POST['myRequest'] == "bringit"){
добавить

Код: Выделить всё

 $_SESSION["id"] = 111;$_SESSION["username"] = "myname";$_SESSION["password"] = "myfamily";$_POST['myRequest'] = "bringit"; 
и просто открыть его в браузере.
Ответить