PDA

Просмотр полной версии : Передача методом POST


Juice_Green
12.12.2005, 15:33
Всем привет, такой вопрос:
не могу передать данные методом POST на сервер через LoadVars.
Точнее данные передаются POST`ом, если флешка опубликована на html странице, а если запускаешь как sfw или exe, то данные кидаются почему то GET`ом. Заранее признателен.

p.s. вот примитивный код.

_level0.my_btn.onRelease = function() {
my_vars = new LoadVars();
my_vars.name_txt = "my_name";
my_vars.send("http://localhost/test_load/php/test_load.php", "_blank", "POST");
};

iNils
12.12.2005, 15:43
В 6-ой версии флеша (про 7 и 8 не знаю) в standalone версии запросы POST для LoadVars.send и getURL (глобальный, а не мувиклипа) преобразовывались в GET. Поэтому попробуй использовать LoadVars.sendAndLoad.

Juice_Green
12.12.2005, 16:02
а теперь как мне проследить? я смотрел массивы GET и POST, которые выводила страница php, теперь то она не открывается, хотя данные методом sendAndLoad передаются успешно?

iNils
12.12.2005, 16:44
А тебе нужно страницу с данными потом открыть или это просто нужно для отладки?

__i
12.12.2005, 17:56
Постом передаеться только когда из нтмл странице в противном случае всегда гет,

а посмотреть можно трейсом

trace(my_loadvars.toString());

ili trace(my_loadvars); - точно не помню

iNils
12.12.2005, 18:15
Постом передаеться только когда из нтмл странице в противном случае всегда гет,

Еще раз повторю, при отправке LoadVars.sendAndLoad будет POST.

Juice_Green
13.12.2005, 07:39
to iNils:
да хотелось бы действительно посмотреть в отладке, передались ли на страницу данные POST`om?

Antares
13.12.2005, 08:11
Поставь себе любую смотрелку хедеров и не забывай, что хедеры, а значит и хедер метода POST, передаются *только* в браузере, из IDE будет GET.

Juice_Green
13.12.2005, 08:42
что за смотрелку хедеров? посоветуй что нить ?

Antares
13.12.2005, 09:40
Quick Reference to HTTP headers (http://www.cs.tut.fi/~jkorpela/http.html)
Поиск рулит (https://addons.mozilla.org/quicksearch.php?q=HTTP+headers&section=E&application=firefox)

Juice_Green
13.12.2005, 10:15
да вроде все нормально, данные передаются POST`ом, об этом говорит строчка в access логе апача:
127.0.0.1 - - [13/Dec/2005:12:12:29 +0600] "POST /test_load/php/test_load.php HTTP/1.1" 200 36

теперь я вот изменяю данные на сервере, допустим отсылаемой переменной присваиваю другое значение, только не могу понять - как получить ее обратно?

Juice_Green
13.12.2005, 10:59
все, всем спасибо , вроде все заработало

iNils
13.12.2005, 11:54
Поставь себе любую смотрелку хедеров и не забывай, что хедеры, а значит и хедер метода POST, передаются *только* в браузере, из IDE будет GET.
Воспользовался IRIS
Отправляю данные гетом:
GET http://192.168.107.250/e.php?xxx=404 HTTP/1.0
Referer: http://192.168.107.250/e.php?xxx=404
x-flash-version: 8,0,22,0
User-Agent: Shockwave Flash
Host: 192.168.107.250
Pragma: no-cache

Отправляю данные постом:
POST http://192.168.107.250/e.php HTTP/1.0
Referer: http://192.168.107.250/e.php
x-flash-version: 8,0,22,0
Content-Type: application/x-www-form-urlencoded
Content-Length: 7
User-Agent: Shockwave Flash
Host: 192.168.107.250
Pragma: no-cache
xxx=101