Проблема с LoadVars.sendAndLoad в Actionscript 2 на разных компьютерах - PullRequest
2 голосов
/ 15 января 2009

Я пишу очень простое флеш-приложение (AS 2) для подписки пользователей на рассылку по электронной почте; способ, которым он работает, заключается в том, что он использует LoadVars для запуска PHP-скрипта (того же домена) через POST с адресом электронной почты пользователя. Затем скрипт PHP передает информацию в другой домен (URL почтовой рассылки) через curl, чтобы зарегистрировать пользователя.

Пока все хорошо, и он работает примерно на 70% компьютеров, на которых он тестировался (тестируется в режиме реального времени с веб-сайта, а не локально). Однако на некоторых компьютерах кажется, что вызов LoadVars.sendAndLoad не выполняется, поскольку адреса электронной почты, отправленные с этих компьютеров, не отображаются в списке подписчиков. Я знаю, что PHP-скрипт по-прежнему работает на этих компьютерах, так как я создал базовую HTML-форму, которая действует точно так же, как приложение Flash (отправляет один и тот же PHP-скрипт с одинаковыми переменными и т. Д.), И работает на всех компьютерах.

Вот соответствующий AS:

submit_btn.onRelease = function(){
    submitOutAnimation();
    this.enabled = false;
    var sendvar_lv:LoadVars = new LoadVars();
    var loadvar_lv:LoadVars = new LoadVars();
    loadvar_lv.onLoad = function(success:Boolean){
        gotoAndStop("successful");
    }
    sendvar_lv.email = entryField_mc.myAdd.text;
    sendvar_lv.sendAndLoad("http://notmyrealdomainname.com/passthrough.php?ck="+new Date().getTime(),loadvar_lv,"POST");
}

Может ли это быть проблемой безопасности с настройками клиента Flash? У тебя есть другие идеи? У меня сложилось впечатление, что при воспроизведении флэш-памяти на разных компьютерах (кроме производительности) нет особых различий, если предположить, что у них одинаковая версия флэш-плеера, и этот опыт разрушает эту иллюзию ...

Ответы [ 2 ]

2 голосов
/ 15 января 2009

Это может зависеть от того, введет ли пользователь префикс "www", поскольку он будет рассматриваться как отдельный поддомен. Если Flash находится на том же сервере, почему бы не удалить "http://notmyrealdomainname.com" и использовать относительный путь к passthrough.php?

2 голосов
/ 15 января 2009

если вы пытаетесь получить доступ к сценарию, который не находится в том же домене (даже поддомене), вы должны поместить файл междоменной политики в корневой каталог вашего сервера (crossdomain.xml)

читать дальше: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213

...