2014-12-17 3 views
0

У меня есть устаревшее флеш-приложение в ActionScript 2, которое использует способ общения с его сервером, с которым я не знаком.loadVariables trace URL

Он использует метод loadVariables(), который является глобальной функцией в Action Script 2. Унаследованный код работает по назначению, но его необходимо портировать, и я не могу понять, что именно он отправляет.

_root.RemoteHost = "http://www.myserver.com/servlet"; 
_root.CMD = "INIT"; 
loadVariables(_root.RemoteHost, _root.data, "POST"); 

Это делает флэш-генерации и выполнения запроса HTTP по линиям:

http://www.myserver.com/servlet<magic>?CMD=INIT 

Что такое магия часть генерируется вспышкой? Я не могу найти способ получить URL-адрес, который он сгенерировал как строку. Есть ли способ узнать, что он отправляет?

Заранее спасибо.

+0

Ваш вопрос непонятен. Вы говорите о 'sendAndLoad' вместо' loadVariables'? И кто сказал, что ваш URL должен быть http://www.myserver.com/servlet ? CMD = INIT'? – akmozo

+0

В коде используется метод 'loadVariables', но он определенно отправляет данные из _root. Я попытался заменить 'loadVariables'' sendAndLoad' в устаревшем флэш-коде, чтобы узнать, где они синонимы, но не получает ответа от сервлета. Фактический url не содержит '' Я использовал это как индикатор неизвестной части сгенерированного URL-адреса. Я знаю, что когда я контактирую с сервером из приложения HTML5, использование частей URL, которые я знаю, существует, возвращает сообщение «недостаточно информации». Но URL-адрес, который генерирует вспышку, получает правильный ответ. – Zwets

+0

Если бы я понял ситуацию, ваше приложение HTML5 не работало на произвольное использование вашей флеш-памяти, поэтому вы хотите получить URL-адрес, используемый flash, для связи с вашим сервером? – akmozo

ответ

0

Мне удалось создать обходное решение, которое получает намеченный результат от сервлета. Поскольку я знаю, что сервлет будет безопасно игнорировать любые данные, которые он не ищет, я заставил Flash отслеживать каждую возможную переменную, добавляемую к URL-адресу, и включал все их в приложение HTML5.

trace("<form action=\"" + _global.g_sRemoteHost + "\" method=\"POST\">"); 
trace("<fieldset>"); 
for(var id:String in _root) 
{ 
    var value:Object = _root[id]; 
    if(typeof(value)!= "function" && typeof(value)!= "movieclip" && typeof(value)!= "object") 
     trace("<input type=\"text\" name=\"" + id + "\" value=\"" + value + "\">"); 
} 
trace("<input type=\"submit\" value=\"Submit\">"); 
trace("</fieldset>"); 
trace("</form>"); 

Это ужасное решение, но я надеюсь, что это поможет прояснить мой вопрос.

 Смежные вопросы

  • Нет связанных вопросов^_^