Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Perl (http://www.flasher.ru/forum/forumdisplay.php?f=21)
-   -   Передача переменных без изменения страницы. (http://www.flasher.ru/forum/showthread.php?t=27803)

Aib 28.02.2002 08:23

Передача переменных без изменения страницы.
 
Всем привет!
А можно ли передать переменную CGI-скрипту так, чтобы это не вызвало обновление HTML. В ASP такое есть, но по аналогии в CGI у меня не получилось.

shagren 28.02.2002 10:08

Напрямую нельзя... :(
Можно поизвращятся с javascript, точнее с imag`ами. Скрипт ты так запустишь, но результата не получишь, только картинку если он ее генерит.
Ну и разумеется возможны такие варианты как java, flash,...

Aib 28.02.2002 14:13

Не-е, в броузере мне результат не нужен.
 
Просто чтобы он на сервере запустил скрипт, который там обновит информацию. Пользователя это никак не касается.

Gnusmas 28.02.2002 14:39

Перенаправить вывод программы в иной дискриптор, отличный от стандартного....

SPV 28.02.2002 15:36

shagren же ответил! Если разжевать, то так:
<script>
function varToPerl(v) {
im = new Image;
im.src = 'any.cgi?'+v;
}
</script>
<a href="javascript:varToPerl('anyyouwant')">send "anyyouwant"</a>

shagren 28.02.2002 15:46

>Перенаправить вывод программы в иной дискриптор, отличный от стандартного....
Ага и получишь Сервер-еррор, если ты имеешь в виду помненять href.
В твоем случае используй загрузку картинок, как в любом яваскрипт прелоадере. А вместо картинки вызови свой скрипт с передачей ему параметров как гет-метод(т.е. типа:
Код:

/cgi-bin/myperl.cgi?param=1&value=223&href=qq
или типа того).
А скрипт пусть даже ничего не выдает на вывод. НО!! Если какойто броузер будет давать ошибку, тогда выдай на STDOUT какой нибудь 1-пиксельный гиф(не забудь сказать
Код:

print "content-type: image/gif\n\n";
binmode(STDOUT)

или
Код:

print header(-content=>'image/gif');
binmode(STDOUT);

).
Вроде так...

juggy 28.02.2002 16:20

попробуй i-frame маленький 1x1 пиксель сделать, и направляй а него форму. там все одновиться. а пользователь ничего не заметит. Или открой JS'ом новое окошко 1х1 пиксел там все сделай, а по завершению работы закрой окно :)

shagren 28.02.2002 18:13

>попробуй i-frame маленький 1x1 пиксель сделать, и
>направляй а него форму. там все одновиться. а пользователь
>ничего не заметит. Или открой JS'ом новое окошко 1х1
>пиксел там все сделай, а по завершению работы закрой окно
Во первых iframe - отстой.
Во вторых если юзать его, то заодно и ilayer, И все равно в "половине" браузеров работать не будет!
В третьих тогда картинку показывать придется, и пока она грузится некоторые браузеры чего-то показать могут, или в рамочку взять.
Вариант SPV со скриптом предпочтительнее намного.

Aib 01.03.2002 08:24

ВСЕМ БОЛЬШОЕ СПАСИБО
 
2SPV: Не злись, не все такие умные, как ты 8-)


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

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