Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Mason+Javascript+Ajax, как их подружить? 
:(
    Опции темы
Gekt0r
Дата 10.7.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Всем привет, у меня вопрос...
Есть сервер, код которого написан преимущественно на перле, с использованием Масона...
Так получается, что админка работает очень медленно, связано это скорее всего с тем, что за многими записями, которые в ней отображаются, идет обращение в базу (postgres), что и тормозит работу.
У меня есть идея добавить Аякс, так, чтобы менее важная часть кода исполнялась не при загрузке страницы, а по требованию пользователя.
Но возникла сложность. У меня не получается вызывать масон-компоненты из яваскрипта. Вернее, я могу вызвать компонент как ссылку, но аргументы ему передавать не удается (да я и сомневаюсь, что яваскрипт умеет передавать перловые объекты)
как быть в таком случае?
PM MAIL   Вверх
ginnie
Дата 10.7.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Уважаемый Gekt0r, прежде всего надо разобраться, как обычно осуществляется взаимодействие с web-приложением через AJAX, посмотреть примеры.
Насколько я знаю, вариантов работы два: web-приложение возвращает данные и они отображаются при помощи Javascript; web-приложение возвращает сформированный HTML и он отображается браузером. 


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
arto
Дата 10.7.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



JSON?
PM MAIL ICQ   Вверх
Gekt0r
Дата 10.7.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Цитата

Уважаемый Gekt0r, прежде всего надо разобраться, как обычно осуществляется взаимодействие с web-приложением через AJAX, посмотреть примеры.
Насколько я знаю, вариантов работы два: web-приложение возвращает данные и они отображаются при помощи Javascript; web-приложение возвращает сформированный HTML и он отображается браузером.

Я копаюсь в Аяксе несколько дней, в основах и принципах работы разобрался, но ответ пока не нашел... У меня есть масон-компонента, которая принимает как аргумент некий объект и формирует на его основании веб-страницу. Есть код, который создает http-запрос javascript и вызывает компоненту. Но только передать ей аргумент не может...
Если подскажете, в каком направлении копать, буду очень благодарен.


Цитата

JSON? 

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

PM MAIL   Вверх
ginnie
Дата 10.7.2008, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Уважаемый Gekt0r, к сожалению, не имел опыта работы с Mason, поэтому сходу затрудняюсь подсказать верное решение.
Gekt0r, скажите, Вы сами имеете опыт работы с Mason, достаточный для модификации модуля под Вашу задачу? Если нет, то, в принципе, дополнительный функционал можно реализовать не используя Mason. Либо же надо приступать к изучению Mason на основе имеющегося у Вас модуля.

Это сообщение отредактировал(а) ginnie - 10.7.2008, 16:47


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
Gekt0r
Дата 11.7.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Цитата(ginnie @ 10.7.2008,  16:35)
Уважаемый Gekt0r, к сожалению, не имел опыта работы с Mason, поэтому сходу затрудняюсь подсказать верное решение.
Gekt0r, скажите, Вы сами имеете опыт работы с Mason, достаточный для модификации модуля под Вашу задачу? Если нет, то, в принципе, дополнительный функционал можно реализовать не используя Mason. Либо же надо приступать к изучению Mason на основе имеющегося у Вас модуля.

Опыт работы с Масон есть, правда, курсов никаких не проходил, все сам изучал. Свои компоненты писал, имеющиеся тоже модифицировал. 
Я думаю, конечно, как это сделать, в инете копаюсь тоже... Но и советы выслушаю с благодарностью)



Тут у меня по яваскрипту даже не меньший, чем, по не Масону.. Потому как способы встраивания перл-кода в HTML, реализованные Масоном, не работают с яваскриптом, вот и думаю, как их подружить друг с другом...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.