Javascript:如何在服务器端(后端)执行?

时间:2014-09-30 06:54:53

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

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

有点像,让我们说:

  1. 从浏览器的角度来看,假设我将获得JS原生window对象。
  2. 然后,我希望通过Ajax或其他方式将其传递到后端,使所有 Javascript处理工作(在window对象上)在后端。所以作为一个非常简单的例子(在Backend JS Server上做):
    • 解析window.location并做一些与之相关的编码。
    • 解析window.document并做一些与之相关的编码。
  3. 然后返回浏览器并显示各自的结果,然后依此类推..
  4. 这意味着,(基于这个简单的例子),我想执行解析和任何编码工作,与window.location& window.document对象,位于后端(另一个)服务器中。只需将此window对象传递给它即可。 (然后将已经处理的结果返回给浏览器)因此用户不会看到我正在使用此window对象做什么。

    **上面只是一个简单的例子。实际上,我想传递一些更复杂的JS对象并在后端进行处理。

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

    1. 请问这个“概念”是否可行?
    2. (如果可能的话,理想的方法是什么?)特别是对于BACKEND,我该怎么办?如何,好吗?
    3. 由于

2 个答案:

答案 0 :(得分:1)

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

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

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

因此,您可以向服务器发出AJAX请求以执行某些逻辑。这个逻辑可以由PHP和Node.js执行,但是当涉及修改DOM时,没有太大区别。

Node.js可能会有所帮助。它也支持DOM,我认为你甚至可以使用jQuery,所以优于PHP的一个优点是你可以像在客户端上那样进行DOM操作。它为您节省了学习的语言,但客户端/服务器处理仍然是分开的。您不能将包含其所有数据和附加事件的元素发送到服务器。您最多可以发送序列化对象。

答案 1 :(得分:-4)

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

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