Javascript на сервере

CatManZero

Новичок
Да знаю я. Ты лучше расскажи, как сделать, чтобы jaxer вернул не сериализованный DOM с сервера, а произвольный контент.
 

Crys

Двинутый новичок
Да знаю я. Ты лучше расскажи, как сделать, чтобы jaxer вернул не сериализованный DOM с сервера, а произвольный контент.
Походу, суть jaxer'а - именно обмен DOM'ом между сервером и клиентом...
То есть на сервере с jaxer'ом можно проводить:
1) client -> server -> php|ruby|perl|etc... (генерим html) -> jaxer(серверный javascript мудрит на html) -> client
2) client -> server -> php... (генерим что угодно) -> client
3) client -> server -> jaxer -> client

но не client -> server -> jaxer (что угодно) -> client

Практически полный ноль в английском, но эту картинку по-другому расшифровать не смог - http://www.aptana.com/system/files/images/JaxerProcess_normal_large.png
 

С.

Продвинутый новичок
Методологически интересная вешь. Особенно как DOM шаблонизатор. Но runat=both -- нож в спину MVC.
 

CatManZero

Новичок
Автор оригинала: Crys
но не client -> server -> jaxer (что угодно) -> client
Хе. оказывается можно (может и не что угодно, но текст точно).
Вот примерчик (c сервера возвращается версия jaxer-a)
PHP:
  <script runat="server-proxy">
        function getVersion()
        {
             return Jaxer.buildNumber;
         }
   </script>
...
<!-- синхронный запрос -->
        <button onclick="alert(getVersion())">version</button>

<!-- асинхронный запрос -->
        <button onclick="getVersionAsync(function(version) { alert(version) } )">version</button>
А вот тут http://www.aptana.com/view/jaxer_technical_faq (см. How can I perform XSLT transformations during a callback?) интересный пример серверной xslt-трансформации.

з.ы.: интересная игрушка =) но надо работать...
 

С.

Продвинутый новичок
Да хотя бы посмотри их пример валидации данных из формы. Как лабораторный опыт для учебных целей интересно. Я для практики -- смерть.

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

CatManZero

Новичок
Жаль, что тут нельзя сделать proxy-функцию из функции, лежащей внутри объекта (по крайней мере у меня не получилось):
PHP:
model = {
  getA: function() { ... },
  getB: function() { ... },
...
}
model.getA.proxy = true;
model.getB.proxy = true;
Это, думаю, ещё могло как-то спасти ситуацию.

З.Ы.: В самом деле какая-то сомнительная штука - этот Jaxer.
 

CatManZero

Новичок
Автор оригинала: dark-demon
как и вообще весь ajax :)
Вы не любите ajax? Может Вы просто не умеете его готовить? :)

Вот extjs - неплохая, на мой взгляд, js-библиотека. При использовании которой, мысль "передать кусок html браузеру вместо данных в виде xml" возникает в самую последнюю очередь. Т.е. достигается почти полное соответствие термину.

Правда есть один нехороший момент - для TreePanel приходится использовать json :mad:
 

CatManZero

Новичок
Ну да.
Но её использование не предполагает частую перезагрузку страницы, так что особых неудобств этот факт не вызывает.

Для традиционных сайтов, конечно, использовать её глупо. jQuery в этом плане мне нравится больше.
 

WP

^_^
Бредовая задумка. На клиенте и на сервере протекают совершенно разные по смыслу процессу, и средства разработки разумеется разные.
 

CatManZero

Новичок
Автор оригинала: dark-demon
это та, которая всё делает через одну и ту же функцию? :)
Если ты про jQuery, то да. Для поиска и управления DOM-ом, по-моему очень удобно и ничего лишнего не мешается под ногами. AJAX и событийная модель там тоже нечего - жить можно. :rolleyes:
Хотя в YUI с AJAX-ом работать было на много приятнее.
 

С.

Продвинутый новичок
Автор оригинала: StUV
а, ты именно об этом [...]
я подумал что вообще =)
А где ты видел, чтобы продукты иллюстрировались на примере исключений? Для ознакомления все-таки самые характерные примеры используются.
 
Сверху