![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Почему при отладке по Ctrl+Alt+P (Flash CS3) когда я обращаюсь к php-скрипту через URLLoader в data я получаю не результат выполнения скрипта, а его текст? Когда запускаю скомпилированную флешку из браузера - все нормально. Подскажите, как получить результат вместо самого скрипта при отладке?
|
|
|||||
|
Регистрация: May 2010
Сообщений: 543
|
это проблема сервера, а не флеша
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с) |
|
|||||
|
Lorem ipsum
|
Покажи как вызывается PHP-скрипт из флеша?
__________________
Поймай яблоко 2! |
|
|||||
|
Вот пример кода:
package Tmp { import flash.display.*; import flash.net.*; import flash.events.*; import flash.text.*; public class Tmp extends Sprite { private var PHPLoader:URLLoader; protected var Variables:URLVariables; protected var Request:URLRequest; protected var Txt:TextField; public function Tmp() { PHPLoader = new URLLoader(); PHPLoader.dataFormat = URLLoaderDataFormat.TEXT; PHPLoader.addEventListener(Event.COMPLETE,OnComplete); Variables = new URLVariables(); Request = new URLRequest(); Request.method = URLRequestMethod.POST; Request.url = "getservertime1.php"; PHPLoader.load(Request); Txt = new TextField(); Txt.autoSize = TextFieldAutoSize.LEFT; Txt.selectable = false; Txt.x = 10; Txt.y = 10; Txt.textColor = 0x000000; addChild(Txt); } protected function OnComplete(e:Event):void { trace(String(e.target.data)); Txt.text = String(e.target.data); } } }
G:\VN Flash\Дополнительно\Tmp\Src\Tmp.fla: <?php list($usec, $sec) = explode(" ", microtime()); echo round(((float)$usec + (float)$sec)*1000); ?> Вывод из браузера (http://localhost/vn/Tmp.swf) : 1311490411672 |
|
|||||
|
Lorem ipsum
|
Так и должно быть.
Замени на
__________________
Поймай яблоко 2! |
|
|||||
|
Цитата:
![]() Выдает ошибку: G:\VN Flash\Дополнительно\Tmp\Src\Tmp.fla: Error opening URL 'http://localhost/vn/getservertime1.php' Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost/vn/getservertime1.php at Tmp::Tmp$iinit() Возможно это из-за ненастроенного кросс-домена? Как правильно настроить его на localhost? Я пытался так: crossdomain.xml <? xml version="1.0"> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="http://localhost/vn/" /> <allow-access-from domain="localhost/vn/" /> </cross-domain-policy> и перед лоадером вызывал Security.loadPolicyFile("http://localhost/vn/crossdomain.xml"); Ошибка остается ![]() |
|
|||||
|
Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
|
вызывать ничего не надо.
для теста поставте так. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Это же не секьюрити сэндбокс, а ошибка ввода / вывода. Формат данных вводимых во флеш неверный.
файл-то точно доступен по такому адресу? Что за сервер вообще используется? Wamp? |
|
|||||
|
Цитата:
<? xml version="1.0"> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy> Не помогает. В отладчике все равно получаю эту ошибку: G:\VN Flash\Дополнительно\Tmp\Src\Tmp.fla: Error opening URL 'http://localhost/vn/getservertime1.php' Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost/vn/getservertime1.php at Tmp::Tmp$iinit() |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:47. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|