Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   as 2.0 http-запрос (http://www.flasher.ru/forum/showthread.php?t=150532)

mrGreen 18.02.2011 09:45

полный код приведен в первом сообщении. Просто чтобы видеть какой запрос отправляется я решил проверить это при помощи send(). Пока писал сообщение заметил, что от браузера завист подобное искожение. :eek: хм.. и вот что я получаю:
1)
Код AS1/AS2:

var send_lv:LoadVars = new LoadVars();
send_lv.nom = "02-08-02/1581/10";
send_lv.send('http://10.0.3.27:8080/Default.aspx', '_blank', 'POST');

открывается браузер и в адресной строке следующее:
IE8
http://10.0.3.27:8080/Default.aspx?n...02%2F1581%2F10
Chrome
http://10.0.3.27:8080/Default.aspx?nom=02-08-02/1581/10
а мне собственно нужен следующий результат:
http://10.0.3.27:8080/default.aspx?02-08-04/1125/10
2) decode использовал чтобы схитрить:
Код AS1/AS2:

var send_lv:LoadVars = new LoadVars();
send_lv.decode("02-08-02/1581/10");
send_lv.send("http://10.0.3.27:8080/Default.aspx", "_blank", "POST");

результат в IE8
http://10.0.3.27:8080/Default.aspx?0...2%2F1581%2F10=
Chrome
http://10.0.3.27:8080/Default.aspx?02-08-02/1581/10=
т.е. выходит, что если даже поправят кодировку на серверной части, чего к сожалению еще почему-то не сделали, у меня все равно будет не тот запрос что мне нужно. мне не нужно чтобы выводилось наименование параметра и знак = как в первом случае или знак "равно" как во втором. мне нужно чтобы после url выводилось только значение параметра, например вот так:
http://10.0.3.27:8080/Default.aspx?02-08-02/1581/10
подскажите как это можно реализовать :(

mooncar 18.02.2011 10:19

Так и делайте так, ничто не мешает делать параллельно и GET и POST (если вам вообще POST нужен).
Код AS1/AS2:

nom = '02-08-02/1581/10';
send_lv.sendAndLoad('http://10.0.3.27:8080/Default.aspx?' + nom, result_lv, 'POST');


mrGreen 18.02.2011 16:25

блин, если я делаю как Вы говорите, то выходит вот что:
http://10.0.3.27:8080/Default.aspx02-08-02/1581/10?
немножко не то что необходимо. может я чего не так делаю?
вот код:
Код AS1/AS2:

var send_lv:LoadVars = new LoadVars();
nom = "02-08-02/1581/10";
send_lv.send('http://10.0.3.27:8080/Default.aspx' + nom, '_blank', 'GET');


mooncar 18.02.2011 16:27

Знак вопроса потеряли м/у url-ом и переменной
Код AS1/AS2:

'http://10.0.3.27:8080/Default.aspx?' + nom


mrGreen 18.02.2011 16:38

эмм.. не то чтобы потерял, он теперь в конце всего запроса и добавление его(знака вопроса) в конец url
Код AS1/AS2:

var send_lv:LoadVars = new LoadVars();
nom = "02-08-02/1581/10";
send_lv.send('http://10.0.3.27:8080/Default.aspx?' + nom, '_blank', 'GET');

дает следующий результат:
http://10.0.3.27:8080/Default.aspx?02-08-02/1581/10?

mooncar 18.02.2011 16:46

Уфф.. sendAndLoad пробуйте. Без рефреша. Вам же send только в тестовых целях нужен был?
Офтоп. Может анимированную аватрку приструните? Тяжело топик с вашими постами читать, особенно в пятницу. :(

mrGreen 18.02.2011 17:00

Да, все верно. send только для теста, чтобы убедиться, что строка запроса соответствует необходимой. только что проверил с sendAndLoad и получаю результат, что некорректный запрос. и можно по подробней, что значит без рефреша?
черт, я в тупике. неужели это нельзя реализовать на флеше?

mooncar 18.02.2011 17:08

Часто использовал работу с передачей скрипту переменных, сложные запросы из флеша в том числе, и сильных проблем на стороне флеша не было.
Попробуйте проверить как работает сам скрипт, может быть трабла в нем. Вбейте в адресную строку браузера запрос и посмотрите ответ.
Если все ок, нужно смотреть, что отправляет флеш. Можно сниффером, мне обычно достаточно было трейсить саму строку запроса, если что-то передавал через GET в адресной строке.
Как обычно, локализация проблемы = 50% успеха ее решения.

Кстати, попробуйте еще простой метод load + обработчик onLoad.

mrGreen 18.02.2011 17:25

блин, ну это не сложный запрос.. :wacko:
я вбивал в адресную строку браузера данный пример и многие другие. работает отлично. чувствую я здесь точно проблема с тем, что передает флеш.
Цитата:

достаточно было трейсить саму строку запроса
т.е. в моем случае
Код AS1/AS2:

trace(send_lv);

, правильно я пониаю. если да, то получаю пустое значение. дело в том, что я двоечник во флеше :(
Цитата:

простой метод load + обработчик onLoad.
и можно вот тут чуть по подробней

mooncar 18.02.2011 17:31

Ну просто метод LoadVars.load(), синтаксис в хелпе.


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

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