Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Теряются символы в URLVariables (http://www.flasher.ru/forum/showthread.php?t=177315)

Sociofilm 29.03.2012 14:11

Теряются символы в URLVariables
 
Добрый день!
Сегодня обнаружил такую особенность, если флэш начитывает переменные из PHP с помощью URLVariables:
Файл "test.php"
PHP код:

<?php
$var1 
"123";
$test '["test 30%",0,30,0,"fuel_discount"]';
echo 
"var1=$var1&test=$test";
?>

Файл test.fla
Код AS3:

import flash.events.IOErrorEvent;
 
function test(): void {
var request: URLRequest = new URLRequest('http://какой то хост/test.php');               
var loader: URLLoader = new URLLoader;
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, onLoadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
loader.load(request);
}
 
function onLoadComplete(e: Event): void {
var s: String = e.target.data.test;
trace(s);
}
 
function onLoadError(e: Event): void {
trace("error");
}
 
test();

то вернет:
["test 30,0,30,0,"fuel_discount"]

т.е. отрезаются символы: % и " после test 30
Если немного переписать код с использованием:
Код AS3:

loader.dataFormat = URLLoaderDataFormat.TEXT;

вернет все как надо.

Вопрос, это бага? Можно как то её избежать? Мне требуется передавать и получать 3 переменных, так что TEXT не желателен (не смогу потом распарсить из-за обилия символов & внутри значений переменных)

Добавлено через 23 минуты
Пока что решил проблему так: все таки принимаю как TEXT, а не как VARIABLES.
Передаю, разделяя спецсимволами, например "&&&&"
Потом e.target.data.split("&&&&") и вот они мои параметры!

Но все равно, хотелось бы выслушать другие мнения.

ObOs 29.03.2012 14:48

Не уверен, но попробуйте написать

PHP код:

echo 'var1='.$var1.'&test='.$test


GBee 29.03.2012 14:53

PHP код:

$test '["test 30%25",0,30,0,"fuel_discount"]'

?

Добавлено через 1 минуту
http://www.php.su/functions/?urlencode

Genzo 29.03.2012 14:54

Не проще ли JSON использовать?


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

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