Автор Тема: JavaScript на сервере. Возможно ли??  (Прочитано 6787 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript на сервере. Возможно ли??
« : 23 Января 2008, 22:39:23 »
Такой вот вопрос.
Есть необходимость перед отправлением HTML-страницы пользователю выполнить некий JavaScript внутри неё на стороне сервера и уже эту обновлённую страницу отправлять.
Существует ли что-то такое?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
JavaScript на сервере. Возможно ли??
« Ответ #1 : 23 Января 2008, 22:58:27 »
sd1074
Цитировать
sd1074:
Существует ли что-то такое?

Не в реальном мире.

Есть серверные языки, используйте их - для работы с кодом страницы. Объектная модель документа на сервере еще даже не существует.
LJ: Backslashed life (rss)

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript на сервере. Возможно ли??
« Ответ #2 : 23 Января 2008, 23:17:32 »
Да, да я в курсе на счёт серверных языков :) У меня есть небольшой опыт.
Однако согласитесь, что в этом есть смысл.
Вот смотрите: допустим, ваша страница имеет гостевую книгу на AJAXе, то есть при добавлении сообщения вам нужно обновить содержимое страницы (там уже могли появиться сообщения и от других пользователей). С помощью аякс-запроса вы получаете список сообщений и выводите их. То есть механизм извлечения данных из БД (выполняемый серверным скриптом) и вывода их в НТМL уже запрограммрован.
Но вот когда пользователь первый раз открывает страницу, список сообщений формируется обычно серверным скриптом, то есть получается одно и тоже делается два раза. Если же использовать АЯКС запрос для получения списка сообщений даже в момент первой загрузки страницы, то получается медленнее, т.к. выполняется два ХТТП-запроса.
Очевидным выходом является выполнение AJAX запроса внутри сервера. А конкретнее той части JavaScript, которая парсит данные полученные из БД (и которые приходят в виде AJAX-ответа (причём вероятно в формате JSON) и формирует из них HTML-код).

Я вообще говоря, не прошу вас согласиться как написал вначале, а просто прошу порассуждать по этому поводу. Может быть я что-то не заметил и можно как-то сделать всё проще?

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

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
JavaScript на сервере. Возможно ли??
« Ответ #3 : 24 Января 2008, 08:39:12 »
sd1074
а что вам мешает при первой загрузке все грузить используя серверную сторону? а потому уже запрашивать AJAX - ом если есть обнавления.
[off]Безработный[/off]

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript на сервере. Возможно ли??
« Ответ #4 : 24 Января 2008, 18:32:31 »
Да ничего не мешает... но это всё некрасиво, получается дублирование кода.
Может есть хоть какие-то средства для работы с DOM на сервере?

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript на сервере. Возможно ли??
« Ответ #5 : 25 Января 2008, 08:47:35 »
Друзья, зачем вы столь категоричны?
Оказалось есть как минимум 2 пути. На другом форуме подсказали.
Ajax сервер:
http://www.aptana.com/jaxer
Модуль под Перл:
http://search.cpan.org/~claesjac/JavaScript-1.04/lib/JavaScript.pm
« Последнее редактирование: 25 Января 2008, 09:01:13 от sd1074 »

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
JavaScript на сервере. Возможно ли??
« Ответ #6 : 25 Января 2008, 13:01:27 »
Цитировать
sd1074:
Может есть хоть какие-то средства для работы с DOM на сервере?


Ну к примеру есть в PHP средства для работы с DOM

Цитировать
sd1074:
Да ничего не мешает... но это всё некрасиво, получается дублирование кода.


дублирование кода? Ты о чем написал функцию на серверном языке вот и нет дублирования. Когда надо запрашиваешь на сервере, не надо запрашиваешь с помощу JavaScript - а.
[off]Безработный[/off]

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
JavaScript на сервере. Возможно ли??
« Ответ #7 : 25 Января 2008, 20:19:05 »
sd1074
Цитировать
sd1074:
зачем вы столь категоричны?

Вы бы сначала разобрались, что такое CPAN:Javascript, и как работает Jaxer.

Дублирование кода никуда не уйдет - просто потому что код на сервере и клиенте работает с разным контекстом. Существуют "обертки", которые могут бесшовно подменять вызовы для сервера и клиента (как раз кусок jaxer-а), но работают они...скажем так...без гарантии.
Хотя есть и удачные решения, хоть в том же пакете "AJAX Library" для ASP.NET от msft.
LJ: Backslashed life (rss)

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
JavaScript на сервере. Возможно ли??
« Ответ #8 : 31 Января 2008, 06:19:53 »
Спасибо, разбираюсь.

Оффлайн chal4oye

  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
    • Просмотр профиля
Re: JavaScript на сервере. Возможно ли??
« Ответ #9 : 06 Января 2014, 10:54:08 »
а что вам мешает при первой загрузке все грузить используя серверную сторону? а потому уже запрашивать AJAX - ом если есть обнавления.
GuL

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28