【问题标题】:Javascript: How to execute at the Server Side (back-end)?Javascript:如何在服务器端(后端)执行?
【发布时间】:2014-11-24 17:03:43
【问题描述】:

假设我想做 JS 执行,比如在服务器上处理 Javascript 元素,而不是在客户端 JS 文件上公开代码。

比如说:

  1. 在浏览器方面,假设我将获得 JS 原生 window 对象。
  2. 然后我想通过 Ajax 或其他方式将所有 Javascript 处理工作(在那个 window 对象上)在后端。所以作为一个非常简单的例子(在后端 JS 服务器上做):
    • 解析window.location并做一些与之相关的编码。
    • 解析window.document并做一些与之相关的编码。
  3. 然后返回浏览器并显示相应的结果,依此类推..

这意味着,(基于这个简单的示例),我想在后端(另一个)服务器中执行解析以及与 window.locationwindow.document 对象相关的任何编码工作。只需将这个 window 对象传递给它。 (然后将已经处理的结果返回给浏览器)所以用户不会看到我在用这个window 对象做什么。

** 以上只是一个简单的例子。其实我想在后端传递一些更复杂的JS对象和进程。

这里明显的一点是,我不希望我的主要 JS 处理代码暴露给用户。

  1. 请问这个“概念”是否可行?
  2. (如果可能,理想的方法是什么?) 特别是对于 BACKEND,我应该运行什么以及如何运行

谢谢

【问题讨论】:

  • JS 是前端的东西。您可以使用任何后端语言(例如 PHP)进行所有描述的事情。
  • 答案在您的标签中:node.js & jquery
  • 您需要运行某种 AJAX 函数来将对象发送到服务器以进行操作。服务器端处理完成后,您需要 JS 在客户端运行更改
  • @jasonscript,请问backend 是什么样的?我的意思是“如何”?
  • AJAX。使用 javascript/JQuery 发回您想要更改的项目的 ID,然后使用 HTML 从服务器响应,您可以使用 Javascript/JQuery 在适当的地方注入。

标签: javascript jquery node.js server-side serverside-javascript


【解决方案1】:

不,正如您所描述的那样,这是不可能的。

如果您的服务器具有运行脚本的引擎,JavaScript 可以在服务器上运行。您标记的 Node.js 就是一个很好的例子。

但是,服务器和客户端仍然是分开的。服务器不能直接修改加载到客户端的元素。服务器向客户端提供页面或其他信息,客户端可以处理这些信息。

因此您可以向服务器发出 AJAX 请求以执行某些逻辑。这个逻辑可以用 PHP 执行,也可以用 Node.js 执行,但是在修改 DOM 时,差别不大。

不过,Node.js 可能会有所帮助。它也支持 DOM,而且我认为您甚至可以使用 jQuery,因此相对于 PHP 的优势在于您可以以与客户端类似的方式进行 DOM 操作。它为您节省了学习语言,但客户端/服务器处理仍然是分开的。您不能将包含所有数据和附加事件的元素发送到服务器。您最多可以发送序列化的对象。

【讨论】:

  • 我实际上已经更新了我的问题,更准确地说。请再次查看。谢谢。
  • 我看到了更新。本质上,问题保持不变,答案也一样:您不能通过线路发送完整的对象。您只能发送数据。所以如果你在点击按钮时需要处理一些东西,你将不得不发布一些数据,或者做一个 AJAX 请求来发送数据,你会得到一个页面或一大块数据。
  • 对不起,让我再次确认一下。所以你的意思是..我不能将 Javascript 对象传递给后端(进行处理)?甚至没有 Node.js? (或者,node.js 是解决方案吗?)
  • 确实,您不能将 JavaScript 对象传递给后端。您可以发送序列化对象 (JSON),但这不是实际对象。
  • 这样我们就不能在后端对客户端的js对象做任何事情了? (知道这很痛苦。我虽然我们可以传递给 node.js 并在那里解析,之前):S
【解决方案2】:

Javascript 是一种客户端编程语言,所有代码在运行时由客户端机器上的浏览器解释。所以简短的回答是否定的。

对于服务器端代码,请使用服务器端编程语言,例如 PHP、ASP.NET 或 ColdFusion。

【讨论】:

  • 服务器端 JavaScript 由 Netscape 在 1994 年引入。没错,比它在浏览器中引入(作为 LiveScript)早一年。今天,您可以选择其中任何一个Server side JavaScript solutions
猜你喜欢
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 1970-01-01
相关资源
最近更新 更多