![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Добрый день!
Есть перловый скрипт main.pl c кучей процедур, генерящих в том числе основную html форму, необходимо по нажатию кнопки на форме запускать процедуру proc1 из этого же скрипта и после ее отработки либо выводить строчку об успешном выполнении под кнопкой либо всплывающее окошко(можно что-то типо хинта) не меняя и не перерисовывая остальную часть формы на которой нажимается кнопка. Как можно это сделать? Спасибо! |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
смотри в сторону AJAX
-------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Да я вроде увидел неплохое решение со всплывающими окнами.Остался вопрос- как вызвать perl-процедуру по нажатию кнопки с html странички так чтобы не перезагружать страничку.Нажал- отработала perl- процедура.
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
нажал на кнопку - js script вызывает на стороне сервера по Http процедуру
она отработала - вернула в Js результат Что сложного? http://www.rsdn.ru/article/inet/jQuery.xml#EAIAE -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Процедура находится в perl-скрипте в котором еще много чего есть. Вот как к ней обратиться?
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
нууууу
ты CGI скрипты делал когда нить? вот делаешь себе на сервер запрос к скрипту ttt.cgi в этом скрипте выполняешь процедуру. Или я что то не понимаю? -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Добавлено через 5 минут и 27 секунд Раз так все очевидно не мог бы ты указать каким именно образом с html страницы вызывается перловая процедура например proc содержащаяся в main.pl ? Заранее спасибо! Добавлено через 6 минут и 58 секунд да...чуть не забыл...это все что должно происходить. |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
dron000, а вы прочитали про AJAX, как вам рекомендовали ?
у вас проблема с запуском скрипта? с вызовом процедуры в нем? |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Мне не нужно огород городить, просто вызвать перловую процедуру из скрипта....
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
dron000, Вам надо модифицировать mail.pl так, чтобы была возможность выполнить из него только процедуру func1().
Например:
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Ок. Лучше тогда отдельный создать. А как именно,вызвать так чтобы html форма из которой он вызван не изменилась, т.е. он у меня ничего не рисует и ничего что меняло бы данные на форме не делает,мне просто нужно чтобы он выполнился по нажатию на кнопку.
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
если будешь использовать jQuery, то код будет примерно такой
-------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Это из html страницы такой запрос прокатит? А стандартные методы есть?
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
прокатит. то код из js функции, которую надо вызвать на странице
стандартные есть. но это проще и кроссбраузерно -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Есть у меня кнопочка на странице:
Как зыпустить скрипт на выполнение так чтобы отсаться на текущей странице? |
|||
|
||||
| DEER |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
ну ведь все написал ведь
только перед запуском скачай jQuery и пропиши в head (перед описанием функции onPush)
соответственно "/js/jquery.js" - относительный путь к файлу библиотеки Добавлено @ 23:24 а ещё лучше
Тогда, скрипт выведет сообщение, если только фунция из перла отработает нормально. В противном случает ничего не произойдет. Это сообщение отредактировал(а) DEER - 21.12.2009, 23:24 -------------------- |
||||||
|
|||||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Спасибо.Ща попробую
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Загрузил jquery разместил все везде где нужно при попытке обратиться к jquery.js сообщение apache
Premature end of script headers: jquery-1.3.2.js |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
код давай!
-------------------- |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
dron000, у Вас apache почему-то пытается выполнить js-файл, вместо того, чтобы просто отдать клиенту его содержимое. Скорее всего дело в настройках apache.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
продолжая мысль ginnie, предположу что этот самый *.js лежит в cgi-bin, где апачем прописано исполнять любые файлы
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Да но при перекладывании в другую он отдает клиенту содержимое (это видно потому что выполненение тела скрипта продолжается),но при обращении непосредственно к его частям ошибка та же.
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Может некорректно оформлен jquery.js ?Как я понимаю первая строчка - путь к интепретатору?
Добавлено через 10 минут и 12 секунд Код perl такой:
Строку интерпретатора #! убрал, jquery-1.3.2.js не в cgi-bin. Страница загружается,а вот когда наживаешь на кнопку в левом ниженем углу - ошибка на странице, в логах пусто. |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Если смотреть html код печатаемый на страницу:
|
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Открой свой "жс"ник в каком-нить иде и проверь на кодировку, на то какими символами заканчиваются строки и т.п. Как правило такие ошибки из-за подобных мелочей, подводных камней и прочего, что явным образом не влияет на работу самого алгоритма -------------------- менеджер по кодеврайтингу |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
во первых ошибка оформления - может ошибся когда набирал...
сделай, чтобы выводился такой текст
у тебя точно-точно jquery-1.3.2.js лежит в корневой директории сайта? судя по твоему примеру она у тебя должна лежать в www папке (короче там, где index.html) Добавлено через 2 минуты и 12 секунд и путь к script.pl проверь! он у тебя странный. хотя бы так "/script.pl", если он лежит в корневой папке сайта, иначе ещё путь к нему надо указывать (/cgi-bin/script.pl) -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Насчет jquery.js - он с офф сайта и я его не менял.Просмотрел- с виду все ок.
Когда разделил на два тега:
В access логе ушло обращение к jquery-1.3.2.js - думаю это не очень хорошо. jquery-1.3.2.js - точно лежит в www. Путь к script.pl верный т.к. страницу на которой эта несчастная кнопка рисует pl скрипт в этой же папке /cgi-bin/ |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
неее
Добавлено через 21 секунду пиши полный путь к файлу /cgi-bin/script.pl -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Попробовал- не помогло.Кроме того это будет неверно т.к. если задать так он выйдет на папку вверх а уж там точно script.pl нет-он в текущей папке откуда работает скрипт рисующий саму форму.
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Как можно еще проверить что jquery подгружается? И нужна ли все-таки строка доступа к интерпретатору в начале? Есть еще способ запуска скрипта без анализа возврата без аякса?
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
попробуй так
если пользуешься FF, то там есть Консоль Ошибок (Ctrl + Shift + J) можно после загрузки страницы или после нажатия кнопки посмотреть какая ошибка -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Не помогло...все тоже - при нажатии кнопки в левом нижнем углу - ошибка на странице.
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
какая ошибка?
Добавлено через 1 минуту прикрепи архив с файлами - я у себ попробую посмотреть и если что поправлю -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Онсновная форма file.pl Сами понимаете- все обрезано, но и в таком варианте тож самое.
Присоединённый файл ( Кол-во скачиваний: 7 )
serv_folder.rar 34,08 Kb |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
а script.pl где????
если это sverka.pl , то надо поменять имя файла во первых. Во вторых sverka.pl должен быть CGI приложением (так же как file.pl отдавать нужный аголовок браузеру и т.п. -------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Ну да это он и есть...И это уже я переименовал.Кроме того мне нужно чтобы он просто отработал ничего не поменял и не возвращал ничего браузеру.
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
не, браузеру он должен возвращать 200 статус. Иначе js думает, что не отработало
Я севодня добрый и все починил. что я убрал: 1 закоментировал вызов процедуры - раскоментируйте у себя, потому что я не могу ещё и в ней разбираться а вас. 2 Переписал первую строчку в pl файлах, чтоб они у меня запускались - верните на свои значения. вроде все. у меня работает Присоединённый файл ( Кол-во скачиваний: 1 )
dron.rar 26,84 Kb-------------------- |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
ещё jQuery другой залил, ибо тот какой то битый
Присоединённый файл ( Кол-во скачиваний: 4 )
dron.rar 26,84 Kb-------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Ок.Спасибо.Гляну.
Добавлено через 1 минуту и 11 секунд А ....чуть не забыл.....у тебя-то заработало? Добавлено через 2 минуты и 33 секунды Блин...не увидел верхнее! |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
а вообще, прочти какую нить книжку по веб+перл
-------------------- |
|||
|
||||
| mvsgt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: нет Всего: 1 |
||||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Такое ощущение что результат кэшируется или что-то в этом духе....потому что выполняется скрипт только первый раз. Далее при повторных нажатиях на кнопку тупо всплывают таблички и и как такового запуска скрипта не происходит.
|
|||
|
||||
| DEER |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
чтобы не кешировалось, можно вместо
написать
-------------------- |
||||
|
|||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Спасибо!Работает.Откуда ты это узнал - дай сслыку.
|
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
Google.com
-------------------- |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
Ога, и забить кэш кучей фуфла. |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
ну ему же надо, чтобы отработал скрипт, а не то, что он возвращает
-------------------- |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
А если чистить то как?
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
А как вернуть после вызова скрипта управление в на ту же страницу или перезапросить ее?
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |