1

Предположим, что я хочу выполнить JS-исполнение, например, обработку элементов Javascript, но на сервере, а не подвергать код (-ы) в JS-файле клиента.Javascript: как выполнить на стороне сервера (back-end)?

Что-то подобное, позволяет сказать:

  1. Со стороны браузера, позволяет сказать, что я буду получать JS родной window Object.
  2. Тогда я хочу, чтобы вся обработка Javascript работает (на тот window объект) в бэкэндом, передавая его бакэнду через Ajax, или любой другой. Так как очень простые примеры (делать на Backend JS Server):
    • Разберите window.location и выполните некоторые связанные с ним кодировки.
    • Разберите window.document и выполните некоторые связанные с ним кодировки.
  3. А затем вернуться обратно в браузер с соответствующими результатами, а затем так далее ..

Так что означает, (на основе этого простого примера), я хочу, чтобы выполнить синтаксический анализ и независимо от кодирования работы , связанных с window.location & window.document Объекты, на сервере (другой). Просто передав этому объекту window. (Затем верните уже обработанный результат обратно в браузер). Таким образом, пользователь не увидит, что я делаю с этим объектом window.

** Выше всего простой пример. На самом деле, я хочу передать некоторые более сложные объекты JS и обрабатывать их на сервере.

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

  1. Является ли эта «концепция» даже возможной, пожалуйста?
  2. (Если это возможно, то, что идеальный подход к этому?) Особенно для Backend, что я должен быть запущен и КАК, пожалуйста?

Благодаря

+0

JS - это внешний вид. Все описанные вами действия можно сделать с помощью любого бэкэнд-языка (например, PHP). – WhiteAngel

+3

Ответ указан в ваших тегах: 'node.js' и' jquery'. – haim770

+0

Вам нужно будет запустить какую-то функцию AJAX, чтобы отправить объект на сервер, для которого нужно манипулировать. После завершения обработки на стороне сервера вам понадобится JS для запуска изменений на клиенте – jasonscript

ответ

1

Нет, это не возможно, как вы описываете.

JavaScript может работать на сервере, если на вашем сервере есть механизм запуска скриптов. Node.js, который вы отметили, является хорошим примером этого.

Но все же сервер и клиент отделены друг от друга. Сервер не может напрямую изменять элементы, загруженные в клиент. Сервер передает страницы или другие фрагменты информации клиенту, которые могут обрабатываться клиентом.

Таким образом, вы можете сделать запрос AJAX на сервер для выполнения некоторой логики. Эта логика может выполняться как PHP, так и Node.js, но когда дело доходит до модификации DOM, нет большой разницы.

Node.js может быть полезным.Он также поддерживает DOM, и я думаю, что вы даже можете использовать jQuery, поэтому преимущество перед PHP заключается в том, что вы можете выполнять манипуляции с DOM так же, как на клиенте. Это избавляет вас от изучения языка, но обработка клиент/сервер по-прежнему разделяется. Вы не можете отправить элемент со всеми своими данными и вложенными событиями на сервер. Вы можете отправлять сериализованные объекты максимум.

+0

Я действительно обновил свой вопрос, если быть более точным. Пожалуйста, любезно рассмотрите это снова. Спасибо. –

+0

Я вижу обновление. В сущности, вопрос остается тем же, и так же ответ: вы не можете отправлять полные объекты по линии. Вы можете отправлять только данные. Поэтому, если вам нужно что-то обработать, когда вы нажимаете кнопку, вам нужно будет отправить некоторые данные или выполнить запрос AJAX для отправки данных, и вы получите страницу или фрагмент данных. – GolezTrol

+0

Извините, но позвольте мне еще раз подтвердить. Итак, вы имеете в виду, что я не могу передать объекты Javascript на бэкэнд (для обработки)? Даже для Node.js? (Или это 'node.js' решение?) –

-4

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

Для кода на стороне сервера используйте серверный язык программирования, такой как PHP, ASP.NET или ColdFusion.

+2

На стороне сервера JavaScript был введен Netscape в 1994 году. Правильно, за год до его внедрения (как LiveScript) в браузере. Сегодня вы можете выбрать любой из этих [серверных решений для JavaScript] (https://en.wikipedia.org/wiki/Comparison_of_server-side_JavaScript_solutions). – GolezTrol